removed PKI backed QBFT (#7310)

* removed PKI backed QBFT

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

* changelog

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>

---------

Signed-off-by: Sally MacFarlane <macfarla.github@gmail.com>
pull/7330/head
Sally MacFarlane 4 months ago committed by GitHub
parent 17f4dc9a8a
commit 23123719fb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 7
      CHANGELOG.md
  2. 8
      acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/configuration/BesuNodeConfiguration.java
  3. 10
      acceptance-tests/dsl/src/main/java/org/hyperledger/besu/tests/acceptance/dsl/node/configuration/BesuNodeConfigurationBuilder.java
  4. 127
      acceptance-tests/tests/src/test/resources/pki-certs/README.md
  5. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/ca_certs/inter_ca.p12
  6. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/ca_certs/partner1_ca.p12
  7. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/ca_certs/partner2_ca.p12
  8. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/ca_certs/root_ca.p12
  9. 190
      acceptance-tests/tests/src/test/resources/pki-certs/create.sh
  10. 28
      acceptance-tests/tests/src/test/resources/pki-certs/crl/crl.pem
  11. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner1/miner1.jks
  12. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner1/miner1.p12
  13. 5
      acceptance-tests/tests/src/test/resources/pki-certs/miner1/nss.cfg
  14. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner1/nssdb/cert9.db
  15. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner1/nssdb/key4.db
  16. 5
      acceptance-tests/tests/src/test/resources/pki-certs/miner1/nssdb/pkcs11.txt
  17. 0
      acceptance-tests/tests/src/test/resources/pki-certs/miner1/nssdb/secmod.db
  18. 1
      acceptance-tests/tests/src/test/resources/pki-certs/miner1/nsspin.txt
  19. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner1/truststore.p12
  20. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner2/miner2.jks
  21. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner2/miner2.p12
  22. 5
      acceptance-tests/tests/src/test/resources/pki-certs/miner2/nss.cfg
  23. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner2/nssdb/cert9.db
  24. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner2/nssdb/key4.db
  25. 5
      acceptance-tests/tests/src/test/resources/pki-certs/miner2/nssdb/pkcs11.txt
  26. 0
      acceptance-tests/tests/src/test/resources/pki-certs/miner2/nssdb/secmod.db
  27. 1
      acceptance-tests/tests/src/test/resources/pki-certs/miner2/nsspin.txt
  28. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner2/truststore.p12
  29. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner3/miner3.jks
  30. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner3/miner3.p12
  31. 5
      acceptance-tests/tests/src/test/resources/pki-certs/miner3/nss.cfg
  32. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner3/nssdb/cert9.db
  33. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner3/nssdb/key4.db
  34. 5
      acceptance-tests/tests/src/test/resources/pki-certs/miner3/nssdb/pkcs11.txt
  35. 0
      acceptance-tests/tests/src/test/resources/pki-certs/miner3/nssdb/secmod.db
  36. 1
      acceptance-tests/tests/src/test/resources/pki-certs/miner3/nsspin.txt
  37. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner3/truststore.p12
  38. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner4/miner4.jks
  39. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner4/miner4.p12
  40. 5
      acceptance-tests/tests/src/test/resources/pki-certs/miner4/nss.cfg
  41. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner4/nssdb/cert9.db
  42. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner4/nssdb/key4.db
  43. 5
      acceptance-tests/tests/src/test/resources/pki-certs/miner4/nssdb/pkcs11.txt
  44. 0
      acceptance-tests/tests/src/test/resources/pki-certs/miner4/nssdb/secmod.db
  45. 1
      acceptance-tests/tests/src/test/resources/pki-certs/miner4/nsspin.txt
  46. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner4/truststore.p12
  47. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner5/miner5.jks
  48. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner5/miner5.p12
  49. 5
      acceptance-tests/tests/src/test/resources/pki-certs/miner5/nss.cfg
  50. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner5/nssdb/cert9.db
  51. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner5/nssdb/key4.db
  52. 5
      acceptance-tests/tests/src/test/resources/pki-certs/miner5/nssdb/pkcs11.txt
  53. 0
      acceptance-tests/tests/src/test/resources/pki-certs/miner5/nssdb/secmod.db
  54. 1
      acceptance-tests/tests/src/test/resources/pki-certs/miner5/nsspin.txt
  55. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner5/truststore.p12
  56. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner6/miner6.jks
  57. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner6/miner6.p12
  58. 5
      acceptance-tests/tests/src/test/resources/pki-certs/miner6/nss.cfg
  59. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner6/nssdb/cert9.db
  60. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner6/nssdb/key4.db
  61. 5
      acceptance-tests/tests/src/test/resources/pki-certs/miner6/nssdb/pkcs11.txt
  62. 0
      acceptance-tests/tests/src/test/resources/pki-certs/miner6/nssdb/secmod.db
  63. 1
      acceptance-tests/tests/src/test/resources/pki-certs/miner6/nsspin.txt
  64. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/miner6/truststore.p12
  65. 27
      acceptance-tests/tests/src/test/resources/pki-certs/node1/crl.pem
  66. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/node1/keys.p12
  67. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/node1/keystore.jks
  68. 6
      acceptance-tests/tests/src/test/resources/pki-certs/node1/nss.cfg
  69. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/node1/nssdb/cert8.db
  70. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/node1/nssdb/key3.db
  71. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/node1/nssdb/secmod.db
  72. 1
      acceptance-tests/tests/src/test/resources/pki-certs/node1/nsspin.txt
  73. 70
      acceptance-tests/tests/src/test/resources/pki-certs/node1/ssl-ca.pem
  74. 126
      acceptance-tests/tests/src/test/resources/pki-certs/node1/ssl.pem
  75. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/node1/truststore.jks
  76. 27
      acceptance-tests/tests/src/test/resources/pki-certs/node2/crl.pem
  77. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/node2/keys.p12
  78. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/node2/keystore.jks
  79. 6
      acceptance-tests/tests/src/test/resources/pki-certs/node2/nss.cfg
  80. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/node2/nssdb/cert8.db
  81. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/node2/nssdb/key3.db
  82. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/node2/nssdb/secmod.db
  83. 1
      acceptance-tests/tests/src/test/resources/pki-certs/node2/nsspin.txt
  84. 70
      acceptance-tests/tests/src/test/resources/pki-certs/node2/ssl-ca.pem
  85. 126
      acceptance-tests/tests/src/test/resources/pki-certs/node2/ssl.pem
  86. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/node2/truststore.jks
  87. 27
      acceptance-tests/tests/src/test/resources/pki-certs/non-validator/crl.pem
  88. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/non-validator/keys.p12
  89. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/non-validator/keystore.jks
  90. 6
      acceptance-tests/tests/src/test/resources/pki-certs/non-validator/nss.cfg
  91. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/non-validator/nssdb/cert8.db
  92. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/non-validator/nssdb/key3.db
  93. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/non-validator/nssdb/secmod.db
  94. 1
      acceptance-tests/tests/src/test/resources/pki-certs/non-validator/nsspin.txt
  95. 70
      acceptance-tests/tests/src/test/resources/pki-certs/non-validator/ssl-ca.pem
  96. 126
      acceptance-tests/tests/src/test/resources/pki-certs/non-validator/ssl.pem
  97. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/non-validator/truststore.jks
  98. 27
      acceptance-tests/tests/src/test/resources/pki-certs/nonValidator/crl.pem
  99. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/nonValidator/keys.p12
  100. BIN
      acceptance-tests/tests/src/test/resources/pki-certs/nonValidator/keystore.jks
  101. Some files were not shown because too many files have changed in this diff Show More

@ -3,14 +3,15 @@
## Next release
### Breaking Changes
- Removed deprecated sync modes (X_SNAP and X_CHECKPOINT). Use SNAP and CHECKPOINT instead [#7309](https://github.com/hyperledger/besu/pull/7309)
- Remove deprecated sync modes (X_SNAP and X_CHECKPOINT). Use SNAP and CHECKPOINT instead [#7309](https://github.com/hyperledger/besu/pull/7309)
- Remove PKI-backed QBFT (deprecated in 24.5.1) Other forms of QBFT remain unchanged. [#7293](https://github.com/hyperledger/besu/pull/7293)
### Additions and Improvements
- `--Xsnapsync-bft-enabled` option enables experimental support for snap sync with IBFT/QBFT permissioned Bonsai-DB chains [#7140](https://github.com/hyperledger/besu/pull/7140)
- Add support to load external profiles using `--profile` [#7265](https://github.com/hyperledger/besu/issues/7265)
- `privacy-nonce-always-increments` option enables private transactions to always increment the nonce, even if the transaction is invalid [#6593](https://github.com/hyperledger/besu/pull/6593)
- Added `block-test` subcommand to the evmtool which runs blockchain reference tests [#7293](https://github.com/hyperledger/besu/pull/7293)
- implement gnark-crypto for eip-2537 [#7316](https://github.com/hyperledger/besu/pull/7316)
- Add `block-test` subcommand to the evmtool which runs blockchain reference tests [#7310](https://github.com/hyperledger/besu/pull/7310)
- Implement gnark-crypto for eip-2537 [#7316](https://github.com/hyperledger/besu/pull/7316)
### Bug fixes

@ -28,7 +28,6 @@ import org.hyperledger.besu.ethereum.p2p.rlpx.connections.netty.TLSConfiguration
import org.hyperledger.besu.ethereum.permissioning.PermissioningConfiguration;
import org.hyperledger.besu.ethereum.worldstate.DataStorageConfiguration;
import org.hyperledger.besu.metrics.prometheus.MetricsConfiguration;
import org.hyperledger.besu.pki.config.PkiKeyStoreConfiguration;
import org.hyperledger.besu.tests.acceptance.dsl.node.configuration.genesis.GenesisConfigurationProvider;
import java.nio.file.Path;
@ -70,7 +69,6 @@ public class BesuNodeConfiguration {
private final List<String> runCommand;
private final NetworkName network;
private final Optional<KeyPair> keyPair;
private final Optional<PkiKeyStoreConfiguration> pkiKeyStoreConfiguration;
private final boolean strictTxReplayProtectionEnabled;
private final Map<String, String> environment;
@ -107,7 +105,6 @@ public class BesuNodeConfiguration {
final Optional<PrivacyParameters> privacyParameters,
final List<String> runCommand,
final Optional<KeyPair> keyPair,
final Optional<PkiKeyStoreConfiguration> pkiKeyStoreConfiguration,
final boolean strictTxReplayProtectionEnabled,
final Map<String, String> environment) {
this.name = name;
@ -142,7 +139,6 @@ public class BesuNodeConfiguration {
this.privacyParameters = privacyParameters;
this.runCommand = runCommand;
this.keyPair = keyPair;
this.pkiKeyStoreConfiguration = pkiKeyStoreConfiguration;
this.strictTxReplayProtectionEnabled = strictTxReplayProtectionEnabled;
this.environment = environment;
}
@ -275,10 +271,6 @@ public class BesuNodeConfiguration {
return keyPair;
}
public Optional<PkiKeyStoreConfiguration> getPkiKeyStoreConfiguration() {
return pkiKeyStoreConfiguration;
}
public boolean isStrictTxReplayProtectionEnabled() {
return strictTxReplayProtectionEnabled;
}

@ -41,7 +41,6 @@ import org.hyperledger.besu.ethereum.p2p.rlpx.connections.netty.TLSConfiguration
import org.hyperledger.besu.ethereum.permissioning.PermissioningConfiguration;
import org.hyperledger.besu.ethereum.worldstate.DataStorageConfiguration;
import org.hyperledger.besu.metrics.prometheus.MetricsConfiguration;
import org.hyperledger.besu.pki.config.PkiKeyStoreConfiguration;
import org.hyperledger.besu.tests.acceptance.dsl.node.configuration.genesis.GenesisConfigurationProvider;
import org.hyperledger.besu.tests.acceptance.dsl.node.configuration.pki.PKCS11Utils;
@ -96,7 +95,6 @@ public class BesuNodeConfigurationBuilder {
private Optional<PrivacyParameters> privacyParameters = Optional.empty();
private List<String> runCommand = new ArrayList<>();
private Optional<KeyPair> keyPair = Optional.empty();
private Optional<PkiKeyStoreConfiguration> pkiKeyStoreConfiguration = Optional.empty();
private Boolean strictTxReplayProtectionEnabled = false;
private Map<String, String> environment = new HashMap<>();
@ -429,13 +427,6 @@ public class BesuNodeConfigurationBuilder {
return this;
}
public BesuNodeConfigurationBuilder pkiBlockCreationEnabled(
final PkiKeyStoreConfiguration pkiKeyStoreConfiguration) {
this.pkiKeyStoreConfiguration = Optional.of(pkiKeyStoreConfiguration);
return this;
}
public BesuNodeConfigurationBuilder discoveryEnabled(final boolean discoveryEnabled) {
this.discoveryEnabled = discoveryEnabled;
return this;
@ -549,7 +540,6 @@ public class BesuNodeConfigurationBuilder {
privacyParameters,
runCommand,
keyPair,
pkiKeyStoreConfiguration,
strictTxReplayProtectionEnabled,
environment);
}

@ -1,127 +0,0 @@
See `ethereum/p2p/src/test/resources/keys/README.md` which describes the details on how the
certificates are created. The same CA are used to create miner1-miner6.
For `PkiQbftAcceptanceTest`:
`miner1`-`miner5` are signed with `partner1_ca` and `miner6` is signed with `partner2_ca`.
`miner5` and `miner6` are revoked and added in the crl list.
Sample shell script that can be executed to recreate the certificates
~~~
#! /bin/sh
names=("partner1:miner1" "partner1:miner2" "partner1:miner3" "partner1:miner4" "partner1:miner5" "partner2:miner6")
crls=("partner1:miner5" "partner2:miner6")
KEY_ALG="EC -groupname secp256r1"
#KEY_ALG="RSA -keysize 2048"
##########
CA_CERTS_PATH=./ca_certs
ROOT_CA_KS=$CA_CERTS_PATH/root_ca.p12
INTER_CA_KS=$CA_CERTS_PATH/inter_ca.p12
CRL_DIR=./crl
keytool -exportcert -keystore $ROOT_CA_KS -storepass test123 -alias root_ca -rfc -file $CA_CERTS_PATH/root_ca.pem
echo "Generating miner keystores..."
### Generate client keystores
for name in "${names[@]}"
do
IFS=':' read -r -a array <<< "$name"
partner=${array[0]}
client=${array[1]}
PARTNER_CA_KEYSTORE="$CA_CERTS_PATH/${partner}_ca.p12"
CLIENT_PATH="./${client}"
KEYSTORE_PATH="./$CLIENT_PATH/${client}.p12"
NSSDB_PATH="${CLIENT_PATH}/nssdb"
echo "$PARTNER_CA_KEYSTORE"
mkdir -p $NSSDB_PATH
echo "Generating keystore for Partner $partner Client $client"
keytool -genkeypair -keystore $KEYSTORE_PATH -storepass test123 -alias ${client} \
-keyalg $KEY_ALG -validity 36500 \
-dname "CN=localhost, OU=${partner}" \
-ext san=dns:localhost,ip:127.0.0.1
echo "Creating CSR for $client and signing it with ${partner}_ca"
keytool -storepass test123 -keystore $KEYSTORE_PATH -certreq -alias ${client} \
| keytool -storepass test123 -keystore $PARTNER_CA_KEYSTORE -gencert -alias "${partner}_ca" -ext ku:c=digitalSignature,nonRepudiation,keyEncipherment -ext eku=sA,cA \
-rfc > "${CLIENT_PATH}/${client}.pem"
echo "Concat root_ca.pem to ${client}.pem"
cat "${CA_CERTS_PATH}/root_ca.pem" >> "${CLIENT_PATH}/${client}.pem"
echo "Importing signed $client.pem CSR into $KEYSTORE_PATH"
keytool -keystore $KEYSTORE_PATH -importcert -alias $client \
-storepass test123 -noprompt -file "${CLIENT_PATH}/${client}.pem"
echo "Converting p12 to jks"
keytool -importkeystore -srckeystore $KEYSTORE_PATH -srcstoretype PKCS12 -destkeystore "$CLIENT_PATH/${client}.jks" -deststoretype JKS -srcstorepass test123 -deststorepass test123 -srcalias $client -destalias $client -srckeypass test123 -destkeypass test123 -noprompt
echo "Initialize nss"
echo "test123" > ${CLIENT_PATH}/nsspin.txt
certutil -N -d sql:${NSSDB_PATH} -f "${CLIENT_PATH}/nsspin.txt"
# hack to make Java SunPKCS11 work with new sql version of nssdb
touch ${NSSDB_PATH}/secmod.db
pk12util -i $KEYSTORE_PATH -d sql:${NSSDB_PATH} -k ${CLIENT_PATH}/nsspin.txt -W test123
echo "Fixing truststores in sql:${NSSDB_PATH}"
certutil -M -n "CN=root.ca.besu.com" -t CT,C,C -d sql:"$NSSDB_PATH" -f ${CLIENT_PATH}/nsspin.txt
certutil -M -n "CN=inter.ca.besu.com" -t CT,C,C -d sql:"$NSSDB_PATH" -f ${CLIENT_PATH}/nsspin.txt
certutil -M -n "CN=${partner}.ca.besu.com" -t CT,C,C -d sql:"$NSSDB_PATH" -f ${CLIENT_PATH}/nsspin.txt
certutil -d sql:"$NSSDB_PATH" -f nsspin.txt -L
echo "Creating pkcs11 nss config file"
cat <<EOF >${CLIENT_PATH}/nss.cfg
name = NSScrypto-${partner}-${client}
nssSecmodDirectory = ./src/test/resources/pki-certs/${client}/nssdb
nssDbMode = readOnly
nssModule = keystore
showInfo = true
EOF
# remove pem files
rm "${CLIENT_PATH}/${client}.pem"
# create truststore
echo "Creating truststore ..."
keytool -exportcert -keystore $ROOT_CA_KS -storepass test123 -alias root_ca -rfc | keytool -import -trustcacerts -alias root_ca -keystore "${CLIENT_PATH}/truststore.p12" -storepass test123 -noprompt
keytool -exportcert -keystore $INTER_CA_KS -storepass test123 -alias inter_ca -rfc | keytool -import -trustcacerts -alias inter_ca -keystore "${CLIENT_PATH}/truststore.p12" -storepass test123 -noprompt
keytool -exportcert -keystore $PARTNER_CA_KEYSTORE -storepass test123 -alias "${partner}_ca" -rfc | keytool -import -trustcacerts -alias "${partner}_ca" -keystore "${CLIENT_PATH}/truststore.p12" -storepass test123 -noprompt
done
rm $CA_CERTS_PATH/root_ca.pem
echo "Keystores and nss database created"
## create crl list
mkdir -p $CRL_DIR
rm $CRL_DIR/crl.pem
for crl in "${crls[@]}"
do
IFS=':' read -r -a array <<< "$crl"
partner=${array[0]}
client=${array[1]}
echo "Exporting CA certificate and private key"
openssl pkcs12 -nodes -in "$CA_CERTS_PATH/${partner}_ca.p12" -out "$CRL_DIR/${partner}_ca_key.pem" -passin pass:test123 -nocerts
openssl pkcs12 -nodes -in "$CA_CERTS_PATH/${partner}_ca.p12" -out "$CRL_DIR/${partner}_ca.pem" -passin pass:test123 -nokeys
echo "Export $client certificate"
openssl pkcs12 -nodes -in "./${client}/${client}.p12" -out "$CRL_DIR/${client}.pem" -passin pass:test123 -nokeys
## On Mac, use gnutls-certtool, on Linux use certtool
echo "Creating crl"
printf '365\n\n' | gnutls-certtool --generate-crl --load-ca-privkey "$CRL_DIR/${partner}_ca_key.pem" --load-ca-certificate "$CRL_DIR/${partner}_ca.pem" \
--load-certificate "$CRL_DIR/${client}.pem" >> $CRL_DIR/crl.pem
rm "$CRL_DIR/${partner}_ca_key.pem"
rm "$CRL_DIR/${partner}_ca.pem"
rm "$CRL_DIR/${client}.pem"
done
~~~

@ -1,190 +0,0 @@
#! /bin/sh
##
## Copyright contributors to Hyperledger Besu.
##
## Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
## the License. You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
## an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
## specific language governing permissions and limitations under the License.
##
## SPDX-License-Identifier: Apache-2.0
##
set -e
names=("partner1:miner1" "partner1:miner2" "partner1:miner3" "partner1:miner4" "partner1:miner5" "partner2:miner6")
crls=("partner1:miner5" "partner2:miner6")
KEY_ALG="EC -groupname secp256r1"
#KEY_ALG="RSA -keysize 2048"
##########
CA_CERTS_PATH=./ca_certs
ROOT_CA_KS=$CA_CERTS_PATH/root_ca.p12
INTER_CA_KS=$CA_CERTS_PATH/inter_ca.p12
PARTNER1_CA_KS=$CA_CERTS_PATH/partner1_ca.p12
PARTNER2_CA_KS=$CA_CERTS_PATH/partner2_ca.p12
CRL_DIR=./crl
mkdir $CA_CERTS_PATH
keytool -genkeypair -alias root_ca -dname "CN=root.ca.besu.com" -ext bc:c -keyalg RSA -keysize 2048 \
-sigalg SHA256WithRSA -validity 36500 \
-storepass test123 \
-keystore $ROOT_CA_KS
keytool -exportcert -keystore $ROOT_CA_KS -storepass test123 -alias root_ca -rfc -file $CA_CERTS_PATH/root_ca.pem
keytool -genkeypair -alias inter_ca -dname "CN=inter.ca.besu.com" \
-ext bc:c=ca:true,pathlen:1 -ext ku:c=dS,kCS,cRLs \
-keyalg RSA -sigalg SHA256WithRSA -validity 36500 \
-storepass test123 \
-keystore $INTER_CA_KS
keytool -exportcert -keystore $INTER_CA_KS -storepass test123 -alias inter_ca -rfc -file $CA_CERTS_PATH/inter_ca.pem
keytool -genkeypair -alias partner1_ca -dname "CN=partner1.ca.besu.com" \
-ext bc:c=ca:true,pathlen:0 -ext ku:c=dS,kCS,cRLs \
-keyalg RSA -sigalg SHA256WithRSA -validity 36500 \
-storepass test123 \
-keystore $PARTNER1_CA_KS
keytool -exportcert -keystore $PARTNER1_CA_KS -storepass test123 -alias partner1_ca -rfc -file $CA_CERTS_PATH/partner1_ca.pem
keytool -genkeypair -alias partner2_ca -dname "CN=partner2.ca.besu.com" \
-ext bc:c=ca:true,pathlen:0 -ext ku:c=dS,kCS,cRLs \
-keyalg RSA -sigalg SHA256WithRSA -validity 36500 \
-storepass test123 \
-keystore $PARTNER2_CA_KS
keytool -exportcert -keystore $PARTNER2_CA_KS -storepass test123 -alias partner2_ca -rfc -file $CA_CERTS_PATH/partner2_ca.pem
keytool -storepass test123 -keystore $INTER_CA_KS -certreq -alias inter_ca \
| keytool -storepass test123 -keystore $ROOT_CA_KS -gencert -validity 36500 -alias root_ca \
-ext bc:c=ca:true,pathlen:1 -ext ku:c=dS,kCS,cRLs -rfc > $CA_CERTS_PATH/inter_ca.pem
cat $CA_CERTS_PATH/root_ca.pem >> $CA_CERTS_PATH/inter_ca.pem
keytool -keystore $INTER_CA_KS -importcert -alias inter_ca \
-storepass test123 -noprompt -file $CA_CERTS_PATH/inter_ca.pem
keytool -storepass test123 -keystore $PARTNER1_CA_KS -certreq -alias partner1_ca \
| keytool -storepass test123 -keystore $INTER_CA_KS -gencert -validity 36500 -alias inter_ca \
-ext bc:c=ca:true,pathlen:0 -ext ku:c=dS,kCS,cRLs -rfc > $CA_CERTS_PATH/partner1_ca.pem
keytool -storepass test123 -keystore $PARTNER2_CA_KS -certreq -alias partner2_ca \
| keytool -storepass test123 -keystore $INTER_CA_KS -gencert -validity 36500 -alias inter_ca \
-ext bc:c=ca:true,pathlen:0 -ext ku:c=dS,kCS,cRLs -rfc > $CA_CERTS_PATH/partner2_ca.pem
cat $CA_CERTS_PATH/inter_ca.pem >> $CA_CERTS_PATH/partner1_ca.pem
cat $CA_CERTS_PATH/inter_ca.pem >> $CA_CERTS_PATH/partner2_ca.pem
keytool -keystore $PARTNER1_CA_KS -importcert -alias partner1_ca \
-storepass test123 -noprompt -file $CA_CERTS_PATH/partner1_ca.pem
keytool -keystore $PARTNER2_CA_KS -importcert -alias partner2_ca \
-storepass test123 -noprompt -file $CA_CERTS_PATH/partner2_ca.pem
echo "Generating miner keystores..."
### Generate client keystores
for name in "${names[@]}"
do
IFS=':' read -r -a array <<< "$name"
partner=${array[0]}
client=${array[1]}
PARTNER_CA_KEYSTORE="$CA_CERTS_PATH/${partner}_ca.p12"
CLIENT_PATH="./${client}"
KEYSTORE_PATH="./$CLIENT_PATH/${client}.p12"
NSSDB_PATH="${CLIENT_PATH}/nssdb"
echo "$PARTNER_CA_KEYSTORE"
mkdir -p $NSSDB_PATH
echo "Generating keystore for Partner $partner Client $client"
keytool -genkeypair -keystore $KEYSTORE_PATH -storepass test123 -alias ${client} \
-keyalg $KEY_ALG -validity 36500 \
-dname "CN=localhost, OU=${partner}" \
-ext san=dns:localhost,ip:127.0.0.1
echo "Creating CSR for $client and signing it with ${partner}_ca"
keytool -storepass test123 -keystore $KEYSTORE_PATH -certreq -alias ${client} \
| keytool -storepass test123 -keystore $PARTNER_CA_KEYSTORE -gencert -validity 36500 -alias "${partner}_ca" -ext ku:c=digitalSignature,nonRepudiation,keyEncipherment -ext eku=sA,cA \
-rfc > "${CLIENT_PATH}/${client}.pem"
echo "Concat root_ca.pem to ${client}.pem"
cat "${CA_CERTS_PATH}/root_ca.pem" >> "${CLIENT_PATH}/${client}.pem"
echo "Importing signed $client.pem CSR into $KEYSTORE_PATH"
keytool -keystore $KEYSTORE_PATH -importcert -alias $client \
-storepass test123 -noprompt -file "${CLIENT_PATH}/${client}.pem"
echo "Converting p12 to jks"
keytool -importkeystore -srckeystore $KEYSTORE_PATH -srcstoretype PKCS12 -destkeystore "$CLIENT_PATH/${client}.jks" -deststoretype JKS -srcstorepass test123 -deststorepass test123 -srcalias $client -destalias $client -srckeypass test123 -destkeypass test123 -noprompt
echo "Initialize nss"
echo "test123" > ${CLIENT_PATH}/nsspin.txt
certutil -N -d sql:${NSSDB_PATH} -f "${CLIENT_PATH}/nsspin.txt"
# hack to make Java SunPKCS11 work with new sql version of nssdb
touch ${NSSDB_PATH}/secmod.db
pk12util -i $KEYSTORE_PATH -d sql:${NSSDB_PATH} -k ${CLIENT_PATH}/nsspin.txt -W test123
echo "Fixing truststores in sql:${NSSDB_PATH}"
certutil -M -n "CN=root.ca.besu.com" -t CT,C,C -d sql:"$NSSDB_PATH" -f ${CLIENT_PATH}/nsspin.txt
certutil -M -n "CN=inter.ca.besu.com" -t u,u,u -d sql:"$NSSDB_PATH" -f ${CLIENT_PATH}/nsspin.txt
certutil -M -n "CN=${partner}.ca.besu.com" -t u,u,u -d sql:"$NSSDB_PATH" -f ${CLIENT_PATH}/nsspin.txt
certutil -d sql:"$NSSDB_PATH" -f nsspin.txt -L
echo "Creating pkcs11 nss config file"
cat <<EOF >${CLIENT_PATH}/nss.cfg
name = NSScrypto-${partner}-${client}
nssSecmodDirectory = ./src/test/resources/pki-certs/${client}/nssdb
nssDbMode = readOnly
nssModule = keystore
showInfo = true
EOF
# remove pem files
rm "${CLIENT_PATH}/${client}.pem"
# create truststore
echo "Creating truststore ..."
keytool -exportcert -keystore $ROOT_CA_KS -storepass test123 -alias root_ca -rfc | keytool -import -trustcacerts -alias root_ca -keystore "${CLIENT_PATH}/truststore.p12" -storepass test123 -noprompt
## keytool -exportcert -keystore $INTER_CA_KS -storepass test123 -alias inter_ca -rfc | keytool -import -trustcacerts -alias inter_ca -keystore "${CLIENT_PATH}/truststore.p12" -storepass test123 -noprompt
## keytool -exportcert -keystore $PARTNER_CA_KEYSTORE -storepass test123 -alias "${partner}_ca" -rfc | keytool -import -trustcacerts -alias "${partner}_ca" -keystore "${CLIENT_PATH}/truststore.p12" -storepass test123 -noprompt
done
rm $CA_CERTS_PATH/root_ca.pem
echo "Keystores and nss database created"
## create crl list
mkdir -p $CRL_DIR
## rm $CRL_DIR/crl.pem
for crl in "${crls[@]}"
do
IFS=':' read -r -a array <<< "$crl"
partner=${array[0]}
client=${array[1]}
echo "Exporting CA certificate and private key"
openssl pkcs12 -nodes -in "$CA_CERTS_PATH/${partner}_ca.p12" -out "$CRL_DIR/${partner}_ca_key.pem" -passin pass:test123 -nocerts
openssl pkcs12 -nodes -in "$CA_CERTS_PATH/${partner}_ca.p12" -out "$CRL_DIR/${partner}_ca.pem" -passin pass:test123 -nokeys
echo "Export $client certificate"
openssl pkcs12 -nodes -in "./${client}/${client}.p12" -out "$CRL_DIR/${client}.pem" -passin pass:test123 -nokeys
## On Mac, use gnutls-certtool, on Linux use certtool
echo "Creating crl"
printf '365\n\n' | gnutls-certtool --generate-crl --load-ca-privkey "$CRL_DIR/${partner}_ca_key.pem" --load-ca-certificate "$CRL_DIR/${partner}_ca.pem" \
--load-certificate "$CRL_DIR/${client}.pem" >> $CRL_DIR/crl.pem
rm "$CRL_DIR/${partner}_ca_key.pem"
rm "$CRL_DIR/${partner}_ca.pem"
rm "$CRL_DIR/${client}.pem"
done

@ -1,28 +0,0 @@
-----BEGIN X509 CRL-----
MIICGzCCAQMCAQEwDQYJKoZIhvcNAQELBQAwHzEdMBsGA1UEAxMUcGFydG5lcjEu
Y2EuYmVzdS5jb20XDTIzMDUwNDEwMTUzNVoXDTI0MDUwMzEwMTUzNVowbTAZAghF
KUAnwQI0rxcNMjMwNTA0MTAxNTM1WjAZAggBqEW2S0yD7hcNMjMwNTA0MTAxNTM1
WjAZAghxoeavxdMy8xcNMjMwNTA0MTAxNTM1WjAaAgkAgWKzx/tKZWkXDTIzMDUw
NDEwMTUzNVqgQTA/MB8GA1UdIwQYMBaAFJcP76nbNK50KG5jmh6CvsxlAhJjMBwG
A1UdFAQVAhNkU4XHFwNbgBqsTIFexJjuzEvyMA0GCSqGSIb3DQEBCwUAA4IBAQB2
fhAhVwRBtHdwqhGjRlgbz4i6E0CtoL/02Vazib1OiRAXCkyFJL04U3FGcrPa89Dt
ClZE0G38+Jw0Be0tEpn9A8doSbLr73w1GqW3BqNTw/qjbc6R2x28A1VIVPwV6bZH
5P59YtDV+SjSPNxqkwRMyXqGZ2WIMwUS3u47Es9vMsjChXUJWU6W+jf3LYO/dt+V
7xSchRpljhBtMB8MIoXILBq9uOSFalLmy94YzK2Rw1ZG2SVy2QZ6ZXHvZ/omLbPL
kd4oAiN7L0OLOkFVHyb9bVP6DUWfXxSxBdszbQzHCy74NEsFUC0xqq0xpxwQRRfD
codJtbEVJraSsSBkB78n
-----END X509 CRL-----
-----BEGIN X509 CRL-----
MIICGzCCAQMCAQEwDQYJKoZIhvcNAQELBQAwHzEdMBsGA1UEAxMUcGFydG5lcjIu
Y2EuYmVzdS5jb20XDTIzMDUwNDEwMTUzNVoXDTI0MDUwMzEwMTUzNVowbTAZAggF
p9b0zZl1RxcNMjMwNTA0MTAxNTM1WjAZAgh7MQ7e4x/GbRcNMjMwNTA0MTAxNTM1
WjAZAghxoeavxdMy8xcNMjMwNTA0MTAxNTM1WjAaAgkAgWKzx/tKZWkXDTIzMDUw
NDEwMTUzNVqgQTA/MB8GA1UdIwQYMBaAFJuQMv8IsgbJS8FfPZZx+hSgj7PBMBwG
A1UdFAQVAhNkU4XHGmnm4OkmS4KBFW1nS4csMA0GCSqGSIb3DQEBCwUAA4IBAQB2
43mCjuMmB+MXpl+Axn3b/4V2f0HmbUFhF/andWKUwzC47HoQ+WzXoTV0xisHGCgH
SYlrLdWd+pFh24H7TrKgqvmwtVmUFwm6DphXW3AHvaePWIrAy7L5ZrdOQB9TZPC1
Ly+6x0oKoueiHodWivLQx+CJVbPAzxFEVh0JjecoFw8Tf9FGTqy8jJRdno9HgKDg
BB7w7kPGF7xoaAbukwTXFz7f1nep44oqge+leEc398tdFDxmwralXAUB0A2v/vDG
cSZTr+fyTri+zHjQzeq6//y2GF7S56KSyBXDXTJrvqtuijiVHTzQku+pbVNNrid5
LgCJI7Phj2Q8k26z0+JJ
-----END X509 CRL-----

@ -1,5 +0,0 @@
name = NSScrypto-partner1-miner1
nssSecmodDirectory = ./src/test/resources/pki-certs/miner1/nssdb
nssDbMode = readOnly
nssModule = keystore
showInfo = true

@ -1,5 +0,0 @@
library=
name=NSS Internal PKCS #11 Module
parameters=configdir='sql:./miner1/nssdb' certPrefix='' keyPrefix='' secmod='secmod.db' flags= updatedir='' updateCertPrefix='' updateKeyPrefix='' updateid='' updateTokenDescription=''
NSS=Flags=internal,critical trustOrder=75 cipherOrder=100 slotParams=(1={slotFlags=[ECC,RSA,DSA,DH,RC2,RC4,DES,RANDOM,SHA1,MD5,MD2,SSL,TLS,AES,Camellia,SEED,SHA256,SHA512] askpw=any timeout=30})

@ -1,5 +0,0 @@
name = NSScrypto-partner1-miner2
nssSecmodDirectory = ./src/test/resources/pki-certs/miner2/nssdb
nssDbMode = readOnly
nssModule = keystore
showInfo = true

@ -1,5 +0,0 @@
library=
name=NSS Internal PKCS #11 Module
parameters=configdir='sql:./miner2/nssdb' certPrefix='' keyPrefix='' secmod='secmod.db' flags= updatedir='' updateCertPrefix='' updateKeyPrefix='' updateid='' updateTokenDescription=''
NSS=Flags=internal,critical trustOrder=75 cipherOrder=100 slotParams=(1={slotFlags=[ECC,RSA,DSA,DH,RC2,RC4,DES,RANDOM,SHA1,MD5,MD2,SSL,TLS,AES,Camellia,SEED,SHA256,SHA512] askpw=any timeout=30})

@ -1,5 +0,0 @@
name = NSScrypto-partner1-miner3
nssSecmodDirectory = ./src/test/resources/pki-certs/miner3/nssdb
nssDbMode = readOnly
nssModule = keystore
showInfo = true

@ -1,5 +0,0 @@
library=
name=NSS Internal PKCS #11 Module
parameters=configdir='sql:./miner3/nssdb' certPrefix='' keyPrefix='' secmod='secmod.db' flags= updatedir='' updateCertPrefix='' updateKeyPrefix='' updateid='' updateTokenDescription=''
NSS=Flags=internal,critical trustOrder=75 cipherOrder=100 slotParams=(1={slotFlags=[ECC,RSA,DSA,DH,RC2,RC4,DES,RANDOM,SHA1,MD5,MD2,SSL,TLS,AES,Camellia,SEED,SHA256,SHA512] askpw=any timeout=30})

@ -1,5 +0,0 @@
name = NSScrypto-partner1-miner4
nssSecmodDirectory = ./src/test/resources/pki-certs/miner4/nssdb
nssDbMode = readOnly
nssModule = keystore
showInfo = true

@ -1,5 +0,0 @@
library=
name=NSS Internal PKCS #11 Module
parameters=configdir='sql:./miner4/nssdb' certPrefix='' keyPrefix='' secmod='secmod.db' flags= updatedir='' updateCertPrefix='' updateKeyPrefix='' updateid='' updateTokenDescription=''
NSS=Flags=internal,critical trustOrder=75 cipherOrder=100 slotParams=(1={slotFlags=[ECC,RSA,DSA,DH,RC2,RC4,DES,RANDOM,SHA1,MD5,MD2,SSL,TLS,AES,Camellia,SEED,SHA256,SHA512] askpw=any timeout=30})

@ -1,5 +0,0 @@
name = NSScrypto-partner1-miner5
nssSecmodDirectory = ./src/test/resources/pki-certs/miner5/nssdb
nssDbMode = readOnly
nssModule = keystore
showInfo = true

@ -1,5 +0,0 @@
library=
name=NSS Internal PKCS #11 Module
parameters=configdir='sql:./miner5/nssdb' certPrefix='' keyPrefix='' secmod='secmod.db' flags= updatedir='' updateCertPrefix='' updateKeyPrefix='' updateid='' updateTokenDescription=''
NSS=Flags=internal,critical trustOrder=75 cipherOrder=100 slotParams=(1={slotFlags=[ECC,RSA,DSA,DH,RC2,RC4,DES,RANDOM,SHA1,MD5,MD2,SSL,TLS,AES,Camellia,SEED,SHA256,SHA512] askpw=any timeout=30})

@ -1,5 +0,0 @@
name = NSScrypto-partner2-miner6
nssSecmodDirectory = ./src/test/resources/pki-certs/miner6/nssdb
nssDbMode = readOnly
nssModule = keystore
showInfo = true

@ -1,5 +0,0 @@
library=
name=NSS Internal PKCS #11 Module
parameters=configdir='sql:./miner6/nssdb' certPrefix='' keyPrefix='' secmod='secmod.db' flags= updatedir='' updateCertPrefix='' updateKeyPrefix='' updateid='' updateTokenDescription=''
NSS=Flags=internal,critical trustOrder=75 cipherOrder=100 slotParams=(1={slotFlags=[ECC,RSA,DSA,DH,RC2,RC4,DES,RANDOM,SHA1,MD5,MD2,SSL,TLS,AES,Camellia,SEED,SHA256,SHA512] askpw=any timeout=30})

@ -1,27 +0,0 @@
-----BEGIN X509 CRL-----
MIICBDCB7QIBATANBgkqhkiG9w0BAQsFADCBgTELMAkGA1UEBhMCVVMxCzAJBgNV
BAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJBgNVBAoMAk1DMQ0wCwYDVQQLDARyb290
MRMwEQYDVQQDDApwYXJ0bmVyYWNhMSYwJAYJKoZIhvcNAQkBFhdwYXJ0bmVyYWNh
QHBhcnRuZXJhLmNvbRcNMjEwNzA5MTkxMjM1WhcNMjIwNzA5MTkxMjM1WjAnMCUC
FF9rJlU9U6JdFIeK/xRojaoxHdc5Fw0yMTA3MDkxOTEyMzVaoA4wDDAKBgNVHRQE
AwIBADANBgkqhkiG9w0BAQsFAAOCAQEAfByR//FGHSsVQbaS51d59o82XocOGnnT
p1hjceqtLGv3bhiebVrsRCOB5TsvE/r2IbB/yHYTe3+LJisIUqBxblQ6xK6IM+qA
3fY646YnPT5pvdZAPZ2BCN/xP3xqGffFKapQ9cz0/36YE3vaEoUDlC2VHK0OXI0t
4CLwAmiptUT2GW4Bk1RtokAsFiUNwNIOlRX5bywUNwkG7EuitR90QSGH3l/vyii2
0c1Fm9He9MskwipjXpJKKb+t+m1pdpOVkSjRfjmVqi4BZwWlnQjELSLywhJ+WZG2
Z1NgRjzPXotFKK+YD97Kx1L260A1eUZ46zSq73oUZr0EDZRnNJTr6A==
-----END X509 CRL-----
-----BEGIN X509 CRL-----
MIICLDCCARQCAQEwDQYJKoZIhvcNAQELBQAwgYExCzAJBgNVBAYTAlVTMQswCQYD
VQQIDAJDQTEMMAoGA1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9v
dDETMBEGA1UEAwwKcGFydG5lcmJjYTEmMCQGCSqGSIb3DQEJARYXcGFydG5lcmJj
YUBwYXJ0bmVyYi5jb20XDTIxMDcwOTE5MTIzNVoXDTIyMDcwOTE5MTIzNVowTjAl
AhQTZhDgbKuvX7iLRUBBTiWXBPKM1xcNMjEwNzA5MTkxMjM1WjAlAhRfayZVPVOi
XRSHiv8UaI2qMR3XORcNMjEwNzA5MTkxMjM1WqAOMAwwCgYDVR0UBAMCAQEwDQYJ
KoZIhvcNAQELBQADggEBAMIltmJ036f1BmK/baISJTZTu7PKZgSZMNORnpFT8KvC
s2GNRor5bGp5qvD6LHvsx92YVppCC6xd/beCFBtdyYifqw5xtOvqLQKuqCfxruLz
EqYjKXE/3v8VdyU71J7kFqi0U0Gy4/h/YCL92e5KNbATlmcn5ToyI2EBIEfBfV08
mm7FBXvbHRzqhfrnCNEjBWBWz3zkJMc9Rib26eCCofYIDkY2HvYSN78YgrnMmD6O
hWOXrPoxArxvmDr5rG4vCadqbQYRkkCAOP0hBeMiB0SAcO2W2LNNAmHWXX7FvU3n
ZRZUX31WoVjhNeEQtNBb2mPYBXHQzLC66qYm1p97afc=
-----END X509 CRL-----

@ -1,6 +0,0 @@
name = NSScrypto-node1
nssSecmodDirectory = ./src/test/resources/pki-certs/node1/nssdb
nssDbMode = readOnly
nssModule = keystore

@ -1,70 +0,0 @@
-----BEGIN CERTIFICATE-----
MIID8DCCAtigAwIBAgIUcATI/N49JsZyAuyS8gfW6BppdBEwDQYJKoZIhvcNAQEL
BQAweDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJ
BgNVBAoMAk1DMQ0wCwYDVQQLDARyb290MRAwDgYDVQQDDAdpbnRlcmNhMSAwHgYJ
KoZIhvcNAQkBFhFpbnRlcmNhQGFkbWluLmNvbTAgFw0yMTA3MDkxOTExNTRaGA8y
MTIxMDYxNTE5MTE1NFowgYExCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEMMAoG
A1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDETMBEGA1UEAwwK
cGFydG5lcmFjYTEmMCQGCSqGSIb3DQEJARYXcGFydG5lcmFjYUBwYXJ0bmVyYS5j
b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDccGhUDD8T8m6e2x13
B0LgCDR8F2vlfAw9FN/tXOKKU3DpagJk0CAutL6YFFYs9MXg8D6bZx+w0iXUnaN/
6rjIC1LFs79AizpEaoFWDzcVI66ItSW1Swu3ts0I1kK7EGgAMba0TDTnssfrtuPw
rOA2TOdVX03owOE+gaaPonIQlnew5+NNGhbW+P/5ix1IQXhyuNjV/uu3VEJBGNTh
cAuMGdjvglFuz4zyFon4kNRcQvghs5ztjs2h5ZNHjEo6YtNIdJuRS/XOXII9MfPN
plcwJArWTM3yEATNBtdc5FypOSI6cO/Pl+SVEf4kKmnzJQZWOSGiDXbpm938hGVw
ByZPAgMBAAGjZjBkMB0GA1UdDgQWBBQhpkZg+Ktqh6sFCjtm9HE+9bLJ3TAfBgNV
HSMEGDAWgBTdAXu8aBbvkvxYD5Ss9/Ml5VgohjASBgNVHRMBAf8ECDAGAQH/AgEA
MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEAIggdc0DCxEiNaKak
/xbc7uGiGBb+UzBTjk4BmX9kEFrZf4XEaHzsptltqcQDCVtzcbFFFxMYhv/w/1g/
WMNuUhL0mmGIGMxfoqkg50tNyuHW6aSrBXErel9WthGXAhUSzdHgkWxl3pe2wgda
qIcSwTCFgOeVWTZRdKWqKNPHirBglJHUpMgLo0qa0Ug1hxiyOQRt2yXLpe/mH3pG
cozhrEDYQMOcDhYTpPwM2Bl+TsRPpxFaV4QDfiOyvUDFLMM0dyhl2pukjay/Xpp2
+6Tsnaa+Ui0sDcM3A36Q07+E4Vugxjzfb9a36Eg4XE+Jg3jDA8UOqjeFg9gkK3aY
NaI0qQ==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIID6jCCAtKgAwIBAgIUYdazVD+VnI7jBu7xLaW+npfwHJIwDQYJKoZIhvcNAQEL
BQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJ
BgNVBAoMAk1DMQ0wCwYDVQQLDARyb290MRUwEwYDVQQDDAxyb290Y2EuYWRtaW4x
HzAdBgkqhkiG9w0BCQEWEHJvb3RjYUBhZG1pbi5jb20wIBcNMjEwNzA5MTkxMTU0
WhgPMjEyMTA2MTUxOTExNTRaMHgxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEM
MAoGA1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDEQMA4GA1UE
AwwHaW50ZXJjYTEgMB4GCSqGSIb3DQEJARYRaW50ZXJjYUBhZG1pbi5jb20wggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ8QgVwEjy3CgJFvET7tYNBw97
4i33EHQT4ZuayGCJ+ADY3ZFpsw2M1IPlbAguqfBkcLd8TAjWNRAdsm9ubGlIcTZr
7LNle3gvc7qEP4qg0i6M7D06CDqtBaIJ1PMTJchOouGU9ntBe+h0qg8tzpiqJdIw
jIOPRWW98Hw9KgF6++2jtlcOW1IxiFSWqf0Mpc81qKukcxnsHjvdxmBp/Z1vL42E
m5xNOGXoxpjq8NygSuVDhQ/bZUnmHLmvv9MXe9Ob52rlzea/YafLpOeNGSA1aCxm
Fx0lcoXWp4xpoyJn9St7vmH3t7quBKdqt54zwcuHjhgZPSR6RikodKHtsl8TAgMB
AAGjZjBkMB0GA1UdDgQWBBTdAXu8aBbvkvxYD5Ss9/Ml5VgohjAfBgNVHSMEGDAW
gBSMsBNO3UGBteMZOTq5fDPG2aPx8DASBgNVHRMBAf8ECDAGAQH/AgEBMA4GA1Ud
DwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEA0hJCtrCI9Mf47+y3pvsTjiaT
TZwpNE0cdxHjpcCHJWX2jmGbqqA6wvQ7yy4PFarmnFOoW3hQFeiLgpz9X86YTRzF
8dj3Q2MKXf6i6/iW+Y96GFqurshKp7wV25wfzWwLXcVCiM1xYPWYSyGsZAGotu4M
c7uolVABjJu5nci9mBxVmaYV5oT1mxrvq3dCPm2AvmVFNWPNRbMSAuT5B7FUDvWG
xvd1aDFduqL0iLAcrTifMIYI3XL4pBSIlL78dgY45WL6616EF3mHhW/Y4k4PNq1I
Fz08Q3y99ilhzeAci1jv6KBVHiALZNFFtYjd10KX95qnF9SomBjCTPsQ9PTC5g==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIID2zCCAsOgAwIBAgIUdxRGMrv1ONRI/dJXUHa3isjVXuwwDQYJKoZIhvcNAQEL
BQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJ
BgNVBAoMAk1DMQ0wCwYDVQQLDARyb290MRUwEwYDVQQDDAxyb290Y2EuYWRtaW4x
HzAdBgkqhkiG9w0BCQEWEHJvb3RjYUBhZG1pbi5jb20wIBcNMjEwNzA5MTkxMTU0
WhgPMjEyMTA2MTUxOTExNTRaMHwxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEM
MAoGA1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDEVMBMGA1UE
AwwMcm9vdGNhLmFkbWluMR8wHQYJKoZIhvcNAQkBFhByb290Y2FAYWRtaW4uY29t
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Bqlx+ngRZfWjktX6urJ
Tpg2//n3uMW8Gp55SVq+lbpkNXuA3W0uTlom/2fsnzmMmBAJUvv/NaLcFSN++0/d
fYGVhogxjlRoyaXa4sdFPg2ocM+lCHLGhWpYuVdTWPknikTOVNbh9z94SLRfrP8N
kuxGNZNktnVm+QJmrCLmjvnPvQlcP/WqFYehFM26NaRzswOhLLRU1YK8aVlh9Vto
PGSTPtZK60XwTfyCj/zEvHqpbGbKJPp7W0rpxl7ehPQIzGQt5IMH3zKrqLm4/pt+
XFEVqy724sstthS73bvXguWxBLOzuMze8CbI6SJpcHaH8HO5pfFMPyE5N5l2x9Co
uQIDAQABo1MwUTAdBgNVHQ4EFgQUjLATTt1BgbXjGTk6uXwzxtmj8fAwHwYDVR0j
BBgwFoAUjLATTt1BgbXjGTk6uXwzxtmj8fAwDwYDVR0TAQH/BAUwAwEB/zANBgkq
hkiG9w0BAQsFAAOCAQEAL9/7YtxIbuTt7dgH1KOMb/y6P3Qb79fTVZTx073E2ZBj
OfSuMGUhKC30LWQXCQEsY4WpugJ4cS0NsArSYsO5XWguqgjYlWL6poOmYhGvj7ou
oi44oYqcPm6EbvLrAKdI67bkbSPLzgs+6TrxTyXHzPKFBqGBnuHaFKjgb4hGiPmd
JWKrh3fbTtuLjqSHd0Gey2uBNFql4LhPutdsCUhSOD3BibAeTbXyln70AgpTCoWT
9Qr9Ux6HYIiAHSDBzzuN8EcrlnAm9RO4zRyUVwxDsHoNsOUwybn50IM66p83HuiY
h/iX5uNjaFAADfRR4rQOwb6MLreVH2XYUSiz4M/ijg==
-----END CERTIFICATE-----

@ -1,126 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCw8JqVhfSxCPC+
8UKvPAGHyZOzqrXd3SyrdYQnUKP2NkAhbXpJMNnIyk41+dVJxzjNJ9RiSr3D8hJH
3NOMLtj93UROtp7Az1PdnpPRjeHsT7kt9+79J3I4r6eEU7uhfig2UNPJBaKxqoht
MyBoGJgIYl3O8SD6grFV40cFfCFOWFgKi+Q+U7I0uMl/y+eXw1/g8DBwGPxhhw9Z
est7Ov3Qnk4x2np8Ejh6hl+dAqubojjLFdWrs2goQXrkE+qLEM2jze49L6gL5FwJ
brMkyewsaF6xVKfptMw9EK92NFzQuCUF8SXq548FzYHkiVVNweheBD7+4iCOpi0b
eiC4N6RXAgMBAAECggEABx01aeuf4fpVC6hRoRANk7MUIDYt58S7xg0MijQg04Zs
36syLn0rVHpl2J+55qR+8Si3zlfo91blS0RisRE1IkfiNjP7gA8V9SQqF1PYEJNI
A8QjNMSAQC031Ac11RFodn6bdUqntvL/VzymAelzO2sREH/7bncQwD5KHbtW73pm
un5CvnP6dHQTHX+AVDuH6yOdukuyNM+2Xn8J+PAIRsPn9yENgmvzWIW8UOvKj2Ox
4ckkT7zkihwyf8BnztNizdxSlR+ebsvP76C2gAULXoYjJlI7XxvQ1/qhma0yXhGx
I/fBBmK5rz84DabblgS0mOc2ul/nlhJI5kQSHr/PQQKBgQDVLnoJUOCa/R+s9zOn
WcUu38C8JYsj1J1PqHEOkoTim8gD3JxxCEuHLLFMSxMp4umGa3oYxut6HmgdQaym
mYPCKr0oWYDhZ8M0zwKFGTGjhGv/gkRQKdYk7IV5ASKEijRHwxfMBL9Qbc0+G0xO
/CQgJ4GsQ8neGfrDavzfsnt79wKBgQDUeqApjX0bQXTRYMyJU926N7vasyW+2kFd
KE2aUxgdEm1LG1ZDaCuPi7YZYH+J9krKISLehUJRCa4rmu6L0JjWHJAZNDQdKi2E
jNfQUWU9hoQHs3J/c8e63MmgUy7K16gt7oelRtlyL2A5NXnqvTv8U0kw7+KJkxda
et0Cke9CoQKBgBo6SJtizu9imwYNt9YsDj1xG+ZJ/C9hViVZxOcVEbJLljUbbEff
zGMKFZocVnQ9zZtTF8d6mbgBi6+lx9cLZhF6bqFLObcBrBuQKHA1pEzI2vypizwN
maIbU2SKxjNmSX5Wu1PHdb4wdCLi+uVw0gT+t055XJmtupNWU1w2OkkLAoGATdFD
SzSYdxz37Z7oCft/Hy4+TJCD6GwCuF2EXlrEYBFZmcI/S5yhJ4dhf9XJn/tl1LVi
EeD4Mrm64hlx+B7DetcnJzPpSi0iUoNKnu7Qh0H2pONhsa/znEo0RdVxM7Tb0Uak
wzE5fgo/0XP2XLRFfdn62kNg0kXerbKFsuVDnUECgYARX+jedlHmj1aY6ldhoRGf
5/RAfYAH2f0NbS4oAiRvchjydN9EjCVp8KoF7m9ToaLqPFgHP8zIjYsk7B49jXZr
DjtyMERpjMsBoRbjSKyD1glm1UQeoavgiorPz0w9QDYBstlhH/d0ejfEBCpGk5/2
YxMs98KdYA62DUkmuaiySQ==
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIEszCCA5ugAwIBAgIUX2smVT1Tol0Uh4r/FGiNqjEd1zgwDQYJKoZIhvcNAQEL
BQAwgYExCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEMMAoGA1UEBwwDU0ZPMQsw
CQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDETMBEGA1UEAwwKcGFydG5lcmFjYTEm
MCQGCSqGSIb3DQEJARYXcGFydG5lcmFjYUBwYXJ0bmVyYS5jb20wIBcNMjEwNzA5
MTkxMjA4WhgPMjEyMTA2MTUxOTEyMDhaMHcxCzAJBgNVBAYTAlVTMQswCQYDVQQI
DAJDQTEMMAoGA1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDEO
MAwGA1UEAwwFbm9kZTExITAfBgkqhkiG9w0BCQEWEm5vZGUxQHBhcnRuZXJhLmNv
bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALDwmpWF9LEI8L7xQq88
AYfJk7Oqtd3dLKt1hCdQo/Y2QCFtekkw2cjKTjX51UnHOM0n1GJKvcPyEkfc04wu
2P3dRE62nsDPU92ek9GN4exPuS337v0ncjivp4RTu6F+KDZQ08kForGqiG0zIGgY
mAhiXc7xIPqCsVXjRwV8IU5YWAqL5D5TsjS4yX/L55fDX+DwMHAY/GGHD1l6y3s6
/dCeTjHaenwSOHqGX50Cq5uiOMsV1auzaChBeuQT6osQzaPN7j0vqAvkXAlusyTJ
7CxoXrFUp+m0zD0Qr3Y0XNC4JQXxJernjwXNgeSJVU3B6F4EPv7iII6mLRt6ILg3
pFcCAwEAAaOCASgwggEkMBEGCWCGSAGG+EIBAQQEAwIGwDAdBgNVHQ4EFgQUAWkS
lH1KF5emjGJvHhaERb3a7DIwCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCBeAwHQYD
VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMIG1BgNVHSMEga0wgaqAFCGmRmD4
q2qHqwUKO2b0cT71ssndoXykejB4MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0Ex
DDAKBgNVBAcMA1NGTzELMAkGA1UECgwCTUMxDTALBgNVBAsMBHJvb3QxEDAOBgNV
BAMMB2ludGVyY2ExIDAeBgkqhkiG9w0BCQEWEWludGVyY2FAYWRtaW4uY29tghRw
BMj83j0mxnIC7JLyB9boGml0ETANBgkqhkiG9w0BAQsFAAOCAQEAWq/10HjhRI3A
OOs2JTrG5Xpzz7E8rpH45XQE0ecB1I9Zcm5bnHx+WdIo5GtxvFzGF3EtlAaxDlcM
iE1u1bfrwEF6qr0nQc8q+wHfnNdb1lqqFlXrhoerLBVrChwqkGbxILUQ+mPFhSQd
a2791g8SS/jLM3lnf9bFp7AdzJCqg7Ly0BEkIpfVsuZn0HgfYf7JG68B05RdU7/v
Hw5wGTbEmukODWZtAYRFBnKT4pq5G30heNjATjkmaWeoImJNSPgyoPzYJsYJMUNC
GYj3Ap0ueY6LbsNXst61jUGeBtCcWDa3uRg8Hl7j1dz4USPTJwBEEuSSN3CzjJuI
VGvgw1MPpQ==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIID8DCCAtigAwIBAgIUcATI/N49JsZyAuyS8gfW6BppdBEwDQYJKoZIhvcNAQEL
BQAweDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJ
BgNVBAoMAk1DMQ0wCwYDVQQLDARyb290MRAwDgYDVQQDDAdpbnRlcmNhMSAwHgYJ
KoZIhvcNAQkBFhFpbnRlcmNhQGFkbWluLmNvbTAgFw0yMTA3MDkxOTExNTRaGA8y
MTIxMDYxNTE5MTE1NFowgYExCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEMMAoG
A1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDETMBEGA1UEAwwK
cGFydG5lcmFjYTEmMCQGCSqGSIb3DQEJARYXcGFydG5lcmFjYUBwYXJ0bmVyYS5j
b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDccGhUDD8T8m6e2x13
B0LgCDR8F2vlfAw9FN/tXOKKU3DpagJk0CAutL6YFFYs9MXg8D6bZx+w0iXUnaN/
6rjIC1LFs79AizpEaoFWDzcVI66ItSW1Swu3ts0I1kK7EGgAMba0TDTnssfrtuPw
rOA2TOdVX03owOE+gaaPonIQlnew5+NNGhbW+P/5ix1IQXhyuNjV/uu3VEJBGNTh
cAuMGdjvglFuz4zyFon4kNRcQvghs5ztjs2h5ZNHjEo6YtNIdJuRS/XOXII9MfPN
plcwJArWTM3yEATNBtdc5FypOSI6cO/Pl+SVEf4kKmnzJQZWOSGiDXbpm938hGVw
ByZPAgMBAAGjZjBkMB0GA1UdDgQWBBQhpkZg+Ktqh6sFCjtm9HE+9bLJ3TAfBgNV
HSMEGDAWgBTdAXu8aBbvkvxYD5Ss9/Ml5VgohjASBgNVHRMBAf8ECDAGAQH/AgEA
MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEAIggdc0DCxEiNaKak
/xbc7uGiGBb+UzBTjk4BmX9kEFrZf4XEaHzsptltqcQDCVtzcbFFFxMYhv/w/1g/
WMNuUhL0mmGIGMxfoqkg50tNyuHW6aSrBXErel9WthGXAhUSzdHgkWxl3pe2wgda
qIcSwTCFgOeVWTZRdKWqKNPHirBglJHUpMgLo0qa0Ug1hxiyOQRt2yXLpe/mH3pG
cozhrEDYQMOcDhYTpPwM2Bl+TsRPpxFaV4QDfiOyvUDFLMM0dyhl2pukjay/Xpp2
+6Tsnaa+Ui0sDcM3A36Q07+E4Vugxjzfb9a36Eg4XE+Jg3jDA8UOqjeFg9gkK3aY
NaI0qQ==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIID6jCCAtKgAwIBAgIUYdazVD+VnI7jBu7xLaW+npfwHJIwDQYJKoZIhvcNAQEL
BQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJ
BgNVBAoMAk1DMQ0wCwYDVQQLDARyb290MRUwEwYDVQQDDAxyb290Y2EuYWRtaW4x
HzAdBgkqhkiG9w0BCQEWEHJvb3RjYUBhZG1pbi5jb20wIBcNMjEwNzA5MTkxMTU0
WhgPMjEyMTA2MTUxOTExNTRaMHgxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEM
MAoGA1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDEQMA4GA1UE
AwwHaW50ZXJjYTEgMB4GCSqGSIb3DQEJARYRaW50ZXJjYUBhZG1pbi5jb20wggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ8QgVwEjy3CgJFvET7tYNBw97
4i33EHQT4ZuayGCJ+ADY3ZFpsw2M1IPlbAguqfBkcLd8TAjWNRAdsm9ubGlIcTZr
7LNle3gvc7qEP4qg0i6M7D06CDqtBaIJ1PMTJchOouGU9ntBe+h0qg8tzpiqJdIw
jIOPRWW98Hw9KgF6++2jtlcOW1IxiFSWqf0Mpc81qKukcxnsHjvdxmBp/Z1vL42E
m5xNOGXoxpjq8NygSuVDhQ/bZUnmHLmvv9MXe9Ob52rlzea/YafLpOeNGSA1aCxm
Fx0lcoXWp4xpoyJn9St7vmH3t7quBKdqt54zwcuHjhgZPSR6RikodKHtsl8TAgMB
AAGjZjBkMB0GA1UdDgQWBBTdAXu8aBbvkvxYD5Ss9/Ml5VgohjAfBgNVHSMEGDAW
gBSMsBNO3UGBteMZOTq5fDPG2aPx8DASBgNVHRMBAf8ECDAGAQH/AgEBMA4GA1Ud
DwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEA0hJCtrCI9Mf47+y3pvsTjiaT
TZwpNE0cdxHjpcCHJWX2jmGbqqA6wvQ7yy4PFarmnFOoW3hQFeiLgpz9X86YTRzF
8dj3Q2MKXf6i6/iW+Y96GFqurshKp7wV25wfzWwLXcVCiM1xYPWYSyGsZAGotu4M
c7uolVABjJu5nci9mBxVmaYV5oT1mxrvq3dCPm2AvmVFNWPNRbMSAuT5B7FUDvWG
xvd1aDFduqL0iLAcrTifMIYI3XL4pBSIlL78dgY45WL6616EF3mHhW/Y4k4PNq1I
Fz08Q3y99ilhzeAci1jv6KBVHiALZNFFtYjd10KX95qnF9SomBjCTPsQ9PTC5g==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIID2zCCAsOgAwIBAgIUdxRGMrv1ONRI/dJXUHa3isjVXuwwDQYJKoZIhvcNAQEL
BQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJ
BgNVBAoMAk1DMQ0wCwYDVQQLDARyb290MRUwEwYDVQQDDAxyb290Y2EuYWRtaW4x
HzAdBgkqhkiG9w0BCQEWEHJvb3RjYUBhZG1pbi5jb20wIBcNMjEwNzA5MTkxMTU0
WhgPMjEyMTA2MTUxOTExNTRaMHwxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEM
MAoGA1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDEVMBMGA1UE
AwwMcm9vdGNhLmFkbWluMR8wHQYJKoZIhvcNAQkBFhByb290Y2FAYWRtaW4uY29t
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Bqlx+ngRZfWjktX6urJ
Tpg2//n3uMW8Gp55SVq+lbpkNXuA3W0uTlom/2fsnzmMmBAJUvv/NaLcFSN++0/d
fYGVhogxjlRoyaXa4sdFPg2ocM+lCHLGhWpYuVdTWPknikTOVNbh9z94SLRfrP8N
kuxGNZNktnVm+QJmrCLmjvnPvQlcP/WqFYehFM26NaRzswOhLLRU1YK8aVlh9Vto
PGSTPtZK60XwTfyCj/zEvHqpbGbKJPp7W0rpxl7ehPQIzGQt5IMH3zKrqLm4/pt+
XFEVqy724sstthS73bvXguWxBLOzuMze8CbI6SJpcHaH8HO5pfFMPyE5N5l2x9Co
uQIDAQABo1MwUTAdBgNVHQ4EFgQUjLATTt1BgbXjGTk6uXwzxtmj8fAwHwYDVR0j
BBgwFoAUjLATTt1BgbXjGTk6uXwzxtmj8fAwDwYDVR0TAQH/BAUwAwEB/zANBgkq
hkiG9w0BAQsFAAOCAQEAL9/7YtxIbuTt7dgH1KOMb/y6P3Qb79fTVZTx073E2ZBj
OfSuMGUhKC30LWQXCQEsY4WpugJ4cS0NsArSYsO5XWguqgjYlWL6poOmYhGvj7ou
oi44oYqcPm6EbvLrAKdI67bkbSPLzgs+6TrxTyXHzPKFBqGBnuHaFKjgb4hGiPmd
JWKrh3fbTtuLjqSHd0Gey2uBNFql4LhPutdsCUhSOD3BibAeTbXyln70AgpTCoWT
9Qr9Ux6HYIiAHSDBzzuN8EcrlnAm9RO4zRyUVwxDsHoNsOUwybn50IM66p83HuiY
h/iX5uNjaFAADfRR4rQOwb6MLreVH2XYUSiz4M/ijg==
-----END CERTIFICATE-----

@ -1,27 +0,0 @@
-----BEGIN X509 CRL-----
MIICBDCB7QIBATANBgkqhkiG9w0BAQsFADCBgTELMAkGA1UEBhMCVVMxCzAJBgNV
BAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJBgNVBAoMAk1DMQ0wCwYDVQQLDARyb290
MRMwEQYDVQQDDApwYXJ0bmVyYWNhMSYwJAYJKoZIhvcNAQkBFhdwYXJ0bmVyYWNh
QHBhcnRuZXJhLmNvbRcNMjEwNzA5MTkxMjM1WhcNMjIwNzA5MTkxMjM1WjAnMCUC
FF9rJlU9U6JdFIeK/xRojaoxHdc5Fw0yMTA3MDkxOTEyMzVaoA4wDDAKBgNVHRQE
AwIBADANBgkqhkiG9w0BAQsFAAOCAQEAfByR//FGHSsVQbaS51d59o82XocOGnnT
p1hjceqtLGv3bhiebVrsRCOB5TsvE/r2IbB/yHYTe3+LJisIUqBxblQ6xK6IM+qA
3fY646YnPT5pvdZAPZ2BCN/xP3xqGffFKapQ9cz0/36YE3vaEoUDlC2VHK0OXI0t
4CLwAmiptUT2GW4Bk1RtokAsFiUNwNIOlRX5bywUNwkG7EuitR90QSGH3l/vyii2
0c1Fm9He9MskwipjXpJKKb+t+m1pdpOVkSjRfjmVqi4BZwWlnQjELSLywhJ+WZG2
Z1NgRjzPXotFKK+YD97Kx1L260A1eUZ46zSq73oUZr0EDZRnNJTr6A==
-----END X509 CRL-----
-----BEGIN X509 CRL-----
MIICLDCCARQCAQEwDQYJKoZIhvcNAQELBQAwgYExCzAJBgNVBAYTAlVTMQswCQYD
VQQIDAJDQTEMMAoGA1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9v
dDETMBEGA1UEAwwKcGFydG5lcmJjYTEmMCQGCSqGSIb3DQEJARYXcGFydG5lcmJj
YUBwYXJ0bmVyYi5jb20XDTIxMDcwOTE5MTIzNVoXDTIyMDcwOTE5MTIzNVowTjAl
AhQTZhDgbKuvX7iLRUBBTiWXBPKM1xcNMjEwNzA5MTkxMjM1WjAlAhRfayZVPVOi
XRSHiv8UaI2qMR3XORcNMjEwNzA5MTkxMjM1WqAOMAwwCgYDVR0UBAMCAQEwDQYJ
KoZIhvcNAQELBQADggEBAMIltmJ036f1BmK/baISJTZTu7PKZgSZMNORnpFT8KvC
s2GNRor5bGp5qvD6LHvsx92YVppCC6xd/beCFBtdyYifqw5xtOvqLQKuqCfxruLz
EqYjKXE/3v8VdyU71J7kFqi0U0Gy4/h/YCL92e5KNbATlmcn5ToyI2EBIEfBfV08
mm7FBXvbHRzqhfrnCNEjBWBWz3zkJMc9Rib26eCCofYIDkY2HvYSN78YgrnMmD6O
hWOXrPoxArxvmDr5rG4vCadqbQYRkkCAOP0hBeMiB0SAcO2W2LNNAmHWXX7FvU3n
ZRZUX31WoVjhNeEQtNBb2mPYBXHQzLC66qYm1p97afc=
-----END X509 CRL-----

@ -1,6 +0,0 @@
name = NSScrypto-node2
nssSecmodDirectory = ./src/test/resources/pki-certs/node2/nssdb
nssDbMode = readOnly
nssModule = keystore

@ -1,70 +0,0 @@
-----BEGIN CERTIFICATE-----
MIID8DCCAtigAwIBAgIUcATI/N49JsZyAuyS8gfW6BppdBIwDQYJKoZIhvcNAQEL
BQAweDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJ
BgNVBAoMAk1DMQ0wCwYDVQQLDARyb290MRAwDgYDVQQDDAdpbnRlcmNhMSAwHgYJ
KoZIhvcNAQkBFhFpbnRlcmNhQGFkbWluLmNvbTAgFw0yMTA3MDkxOTEyMTFaGA8y
MTIxMDYxNTE5MTIxMVowgYExCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEMMAoG
A1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDETMBEGA1UEAwwK
cGFydG5lcmJjYTEmMCQGCSqGSIb3DQEJARYXcGFydG5lcmJjYUBwYXJ0bmVyYi5j
b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDNTP8IviC0X2ozlU2+
9+mPLL9NqJKRCsEiH7XypcXkqkzCYZv/+6nNWXGLr6HsF5qXaM/YVMJYtwiaJquw
qW1CpOKxhHA1gubNt0Fzmt69/5yP6D1zxTPzAcybNMuCy8VcLJpovYHO40+2HD6I
D91/zh3jtrgKPoEXgaW3eX4+hykQWaru3P/G4PrIvPyZXnccoCdBSRCqyZSBJUko
e5ZLnCQMlkwgDONGT3MqQyUC5lqFFMzZ75pOm2reiBe6HzP3H4wK7Ldpxds9ubGk
Acb08+QzcUT7uHvENyvLm5mbf68QurFTwIDEVg2K03dgqQWbJudSzRJAmJYSszFQ
vLZdAgMBAAGjZjBkMB0GA1UdDgQWBBR5aiJ1nA1HHi0XzbRsp4V7T8eKBjAfBgNV
HSMEGDAWgBTdAXu8aBbvkvxYD5Ss9/Ml5VgohjASBgNVHRMBAf8ECDAGAQH/AgEA
MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEAsmFsG3SV1fQg6kO+
dYvFrDKNOJzTBdVYmFhg4y4H7Qt+dwQcs/ZcOCIaAFUfMUH6CWe1AAdCymfwUHxn
l/FMeJHh/+d1cybC+Wj9wtBbz7nPsWh/PXbbg3Zi8N4+a6Y0NhZAGlNn1UgMHx+E
SkSIXk63FkGT01xM2aYtfr9ABuDdoLK/YPecduiawZoRb02WwIpZFNeEE/MS7XG6
fX9TdUrNOal8pnWUM79K+rzdlzstpCx7uFFbACUEiiIuYiqG6X+DuypfGmQnjRXB
zbc6NsQONUxg7fnJObdpV7kKTlbpREFoECkTBdqKd7AuJwYRvGaQDWK9P1IYFr1W
Cnm4Cg==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIID6jCCAtKgAwIBAgIUYdazVD+VnI7jBu7xLaW+npfwHJIwDQYJKoZIhvcNAQEL
BQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJ
BgNVBAoMAk1DMQ0wCwYDVQQLDARyb290MRUwEwYDVQQDDAxyb290Y2EuYWRtaW4x
HzAdBgkqhkiG9w0BCQEWEHJvb3RjYUBhZG1pbi5jb20wIBcNMjEwNzA5MTkxMTU0
WhgPMjEyMTA2MTUxOTExNTRaMHgxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEM
MAoGA1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDEQMA4GA1UE
AwwHaW50ZXJjYTEgMB4GCSqGSIb3DQEJARYRaW50ZXJjYUBhZG1pbi5jb20wggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ8QgVwEjy3CgJFvET7tYNBw97
4i33EHQT4ZuayGCJ+ADY3ZFpsw2M1IPlbAguqfBkcLd8TAjWNRAdsm9ubGlIcTZr
7LNle3gvc7qEP4qg0i6M7D06CDqtBaIJ1PMTJchOouGU9ntBe+h0qg8tzpiqJdIw
jIOPRWW98Hw9KgF6++2jtlcOW1IxiFSWqf0Mpc81qKukcxnsHjvdxmBp/Z1vL42E
m5xNOGXoxpjq8NygSuVDhQ/bZUnmHLmvv9MXe9Ob52rlzea/YafLpOeNGSA1aCxm
Fx0lcoXWp4xpoyJn9St7vmH3t7quBKdqt54zwcuHjhgZPSR6RikodKHtsl8TAgMB
AAGjZjBkMB0GA1UdDgQWBBTdAXu8aBbvkvxYD5Ss9/Ml5VgohjAfBgNVHSMEGDAW
gBSMsBNO3UGBteMZOTq5fDPG2aPx8DASBgNVHRMBAf8ECDAGAQH/AgEBMA4GA1Ud
DwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEA0hJCtrCI9Mf47+y3pvsTjiaT
TZwpNE0cdxHjpcCHJWX2jmGbqqA6wvQ7yy4PFarmnFOoW3hQFeiLgpz9X86YTRzF
8dj3Q2MKXf6i6/iW+Y96GFqurshKp7wV25wfzWwLXcVCiM1xYPWYSyGsZAGotu4M
c7uolVABjJu5nci9mBxVmaYV5oT1mxrvq3dCPm2AvmVFNWPNRbMSAuT5B7FUDvWG
xvd1aDFduqL0iLAcrTifMIYI3XL4pBSIlL78dgY45WL6616EF3mHhW/Y4k4PNq1I
Fz08Q3y99ilhzeAci1jv6KBVHiALZNFFtYjd10KX95qnF9SomBjCTPsQ9PTC5g==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIID2zCCAsOgAwIBAgIUdxRGMrv1ONRI/dJXUHa3isjVXuwwDQYJKoZIhvcNAQEL
BQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJ
BgNVBAoMAk1DMQ0wCwYDVQQLDARyb290MRUwEwYDVQQDDAxyb290Y2EuYWRtaW4x
HzAdBgkqhkiG9w0BCQEWEHJvb3RjYUBhZG1pbi5jb20wIBcNMjEwNzA5MTkxMTU0
WhgPMjEyMTA2MTUxOTExNTRaMHwxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEM
MAoGA1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDEVMBMGA1UE
AwwMcm9vdGNhLmFkbWluMR8wHQYJKoZIhvcNAQkBFhByb290Y2FAYWRtaW4uY29t
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Bqlx+ngRZfWjktX6urJ
Tpg2//n3uMW8Gp55SVq+lbpkNXuA3W0uTlom/2fsnzmMmBAJUvv/NaLcFSN++0/d
fYGVhogxjlRoyaXa4sdFPg2ocM+lCHLGhWpYuVdTWPknikTOVNbh9z94SLRfrP8N
kuxGNZNktnVm+QJmrCLmjvnPvQlcP/WqFYehFM26NaRzswOhLLRU1YK8aVlh9Vto
PGSTPtZK60XwTfyCj/zEvHqpbGbKJPp7W0rpxl7ehPQIzGQt5IMH3zKrqLm4/pt+
XFEVqy724sstthS73bvXguWxBLOzuMze8CbI6SJpcHaH8HO5pfFMPyE5N5l2x9Co
uQIDAQABo1MwUTAdBgNVHQ4EFgQUjLATTt1BgbXjGTk6uXwzxtmj8fAwHwYDVR0j
BBgwFoAUjLATTt1BgbXjGTk6uXwzxtmj8fAwDwYDVR0TAQH/BAUwAwEB/zANBgkq
hkiG9w0BAQsFAAOCAQEAL9/7YtxIbuTt7dgH1KOMb/y6P3Qb79fTVZTx073E2ZBj
OfSuMGUhKC30LWQXCQEsY4WpugJ4cS0NsArSYsO5XWguqgjYlWL6poOmYhGvj7ou
oi44oYqcPm6EbvLrAKdI67bkbSPLzgs+6TrxTyXHzPKFBqGBnuHaFKjgb4hGiPmd
JWKrh3fbTtuLjqSHd0Gey2uBNFql4LhPutdsCUhSOD3BibAeTbXyln70AgpTCoWT
9Qr9Ux6HYIiAHSDBzzuN8EcrlnAm9RO4zRyUVwxDsHoNsOUwybn50IM66p83HuiY
h/iX5uNjaFAADfRR4rQOwb6MLreVH2XYUSiz4M/ijg==
-----END CERTIFICATE-----

@ -1,126 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDOGeuw5pq4E18A
cZOYdLSEbyuSQMmWKtp15Blpb1buD4VEt+6xxBwQvq6BC8A24AWRFGPDM6GFkThr
9vnU64wg6xAjCQZEQYqAncO7FXKLJWagaKYE03rRTKGnNQZsH1uLEywIdEirV8j3
31zOMgQkk8JS+Kv2tsodOZzbYTIaxvRpeTqLzzv+/eg8RQoNNr9XsqIfYrVDhvBc
tfSpnsxVuR/GAxKiqN001DFa+Yjn0sTrEjlyTbniTW8I5V5dnUOfU8awWdjXFFBL
YaDWHnOOQARlZLyg2AFdSNX6NuYhcUuNBECHFdQtBKkXNZEB6Bqx+ZHNG6AZjwYk
6JY+0kxdAgMBAAECggEAR5qn0Qj9PfC08+GBxtjdEpnRCHnrz3lJ9uVtkrz09bZ8
tZg1nJsmqQamd/0OJcKFDJeJ5XqdplsCwDfJKpk/UPx52cI75CDlLrQhGXFlH0S6
OAbDjy+uHuNB0mbQuWXXlyTtCm7kBGt2Te/TPWwRFmgjflIY5Jky9R5cCbfmAXj3
5ieNPzfXtRiT7qAvLcofC+isVX7OPY6c0iMvJm1cHJ+hDwh56uPVdb5+Sa5+BFEd
cCQ8uTBPkGc1e+nUYtu7b8WnUvzCXOSHTZ+ej93/3WefMBaiTigNdmPZyzkAgO+3
bX18hv1YBPf6XnDj3kB8MZTVpPGqTJaD96mCSDCQQQKBgQD1Ds0/sy0fJ8XZ2nwn
wJeqM6rctRbmutOA52z6xrRoqOl4ZgYEZ/MngAT0DyfenhaBu2ShD1wvlKE+TEJP
sSwiWwMoNzxqMvIFdjj4NECBNREL5oV3vokz2XGOquyk9OXaOWP7iiZIswHoHhVp
bqwC7Ga9iqVwt8Kj3l7RIf3aMQKBgQDXTdDJPj0MBXWuQp3nH3y5h49I3AKGiefW
H8G834DMA3pU3//VT7Q14qNSkQ7dvWISLG6zkXIWnMtv2w7VMJhSK3dRTYBEw3hs
67mg5DJMHz2xXLShPUM3Fcx12z0JFOLd72da/GXB5BSjYDxLEZ4KO+jZeqFHNC+o
D6GpqOPd7QKBgAiT6g9OwEeU5tIHWc0yapykjliHZjPRWlHqx9/HUM1RDEsQlylU
UiiRzJqWZTjfo74Kxyz0Eq//rd02YiPT+c2CDgw8UrsM6XfTeY8GlTNwnhYijY1x
d+/+roDl7r6fa+RFmgBWB50H1ws+8lTscMzxZW9BCSV26TM/N2ZuoCohAoGAF7Z4
UlHKg3JufZzUq0nqgLyPaWTh2lOB9zFUMysiklWnuYVaNfIrVOv7NPLJAl8DWCEQ
qDJSsG7gcRddUNmjTRmAcLHqeKhWsRhdP30ilQOz1b7yHfgTWRPLiwd0d3WXbv4Z
EgpOYsZuB3hn65SrJVFn2dwJuz/iJ85g7cCuKBkCgYEA6C6O18FYYqa0sY2qZifs
ryW1ekJJFUhE4rluJCx4J3YvXtzpbbAXqRzfQX+BgSjosTuhKDstYR7J8C5drFpS
oU4PxqxrmoxfAgCca84prbaHRVPA1r1mj7LSHv0jAfGMa3TpKHBbk5wMwO/g1OMi
/tYajeoYLP9p39sNtgsF8HE=
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIEszCCA5ugAwIBAgIUE2YQ4Gyrr1+4i0VAQU4llwTyjNYwDQYJKoZIhvcNAQEL
BQAwgYExCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEMMAoGA1UEBwwDU0ZPMQsw
CQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDETMBEGA1UEAwwKcGFydG5lcmJjYTEm
MCQGCSqGSIb3DQEJARYXcGFydG5lcmJjYUBwYXJ0bmVyYi5jb20wIBcNMjEwNzA5
MTkxMjE2WhgPMjEyMTA2MTUxOTEyMTZaMHcxCzAJBgNVBAYTAlVTMQswCQYDVQQI
DAJDQTEMMAoGA1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDEO
MAwGA1UEAwwFbm9kZTIxITAfBgkqhkiG9w0BCQEWEm5vZGUyQHBhcnRuZXJiLmNv
bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM4Z67DmmrgTXwBxk5h0
tIRvK5JAyZYq2nXkGWlvVu4PhUS37rHEHBC+roELwDbgBZEUY8MzoYWROGv2+dTr
jCDrECMJBkRBioCdw7sVcoslZqBopgTTetFMoac1BmwfW4sTLAh0SKtXyPffXM4y
BCSTwlL4q/a2yh05nNthMhrG9Gl5OovPO/796DxFCg02v1eyoh9itUOG8Fy19Kme
zFW5H8YDEqKo3TTUMVr5iOfSxOsSOXJNueJNbwjlXl2dQ59TxrBZ2NcUUEthoNYe
c45ABGVkvKDYAV1I1fo25iFxS40EQIcV1C0EqRc1kQHoGrH5kc0boBmPBiTolj7S
TF0CAwEAAaOCASgwggEkMBEGCWCGSAGG+EIBAQQEAwIGwDAdBgNVHQ4EFgQUC+rE
//mis2iLbyls/S/ja/4/qtgwCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCBeAwHQYD
VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMIG1BgNVHSMEga0wgaqAFHlqInWc
DUceLRfNtGynhXtPx4oGoXykejB4MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0Ex
DDAKBgNVBAcMA1NGTzELMAkGA1UECgwCTUMxDTALBgNVBAsMBHJvb3QxEDAOBgNV
BAMMB2ludGVyY2ExIDAeBgkqhkiG9w0BCQEWEWludGVyY2FAYWRtaW4uY29tghRw
BMj83j0mxnIC7JLyB9boGml0EjANBgkqhkiG9w0BAQsFAAOCAQEApOPnX+voWhWH
cwc2ZOa2+lp8VMysh939AKQWLWvUmTUBcnPtvcN5pgTUzTW5xbsnLBvX4yBpsufa
RqqQps6/pMJudHPiyiE2cswnYDhOH1Lb735YOewqVjD+cvrm1rWiilMyb5WNmxZH
ktuyOlp6hkSIG6788SHJQyyOYcgPlenE43iAk7Mz9ESxXWnolCCawgYlYFI3qF/r
g5fJrR7Ys1+J9gbqBzjXys9cWyQlfg6y4G8Naa3xfrVmH1LhVc0sSzTIneZK1fFh
PwZ+exAhAUnbXCALp8B2Hd9Mehr13fTWzi6vfq5BB0PalB4w0Qg/7v7/W4de6sZw
4t9Yo0Vpyg==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIID8DCCAtigAwIBAgIUcATI/N49JsZyAuyS8gfW6BppdBIwDQYJKoZIhvcNAQEL
BQAweDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJ
BgNVBAoMAk1DMQ0wCwYDVQQLDARyb290MRAwDgYDVQQDDAdpbnRlcmNhMSAwHgYJ
KoZIhvcNAQkBFhFpbnRlcmNhQGFkbWluLmNvbTAgFw0yMTA3MDkxOTEyMTFaGA8y
MTIxMDYxNTE5MTIxMVowgYExCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEMMAoG
A1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDETMBEGA1UEAwwK
cGFydG5lcmJjYTEmMCQGCSqGSIb3DQEJARYXcGFydG5lcmJjYUBwYXJ0bmVyYi5j
b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDNTP8IviC0X2ozlU2+
9+mPLL9NqJKRCsEiH7XypcXkqkzCYZv/+6nNWXGLr6HsF5qXaM/YVMJYtwiaJquw
qW1CpOKxhHA1gubNt0Fzmt69/5yP6D1zxTPzAcybNMuCy8VcLJpovYHO40+2HD6I
D91/zh3jtrgKPoEXgaW3eX4+hykQWaru3P/G4PrIvPyZXnccoCdBSRCqyZSBJUko
e5ZLnCQMlkwgDONGT3MqQyUC5lqFFMzZ75pOm2reiBe6HzP3H4wK7Ldpxds9ubGk
Acb08+QzcUT7uHvENyvLm5mbf68QurFTwIDEVg2K03dgqQWbJudSzRJAmJYSszFQ
vLZdAgMBAAGjZjBkMB0GA1UdDgQWBBR5aiJ1nA1HHi0XzbRsp4V7T8eKBjAfBgNV
HSMEGDAWgBTdAXu8aBbvkvxYD5Ss9/Ml5VgohjASBgNVHRMBAf8ECDAGAQH/AgEA
MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEAsmFsG3SV1fQg6kO+
dYvFrDKNOJzTBdVYmFhg4y4H7Qt+dwQcs/ZcOCIaAFUfMUH6CWe1AAdCymfwUHxn
l/FMeJHh/+d1cybC+Wj9wtBbz7nPsWh/PXbbg3Zi8N4+a6Y0NhZAGlNn1UgMHx+E
SkSIXk63FkGT01xM2aYtfr9ABuDdoLK/YPecduiawZoRb02WwIpZFNeEE/MS7XG6
fX9TdUrNOal8pnWUM79K+rzdlzstpCx7uFFbACUEiiIuYiqG6X+DuypfGmQnjRXB
zbc6NsQONUxg7fnJObdpV7kKTlbpREFoECkTBdqKd7AuJwYRvGaQDWK9P1IYFr1W
Cnm4Cg==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIID6jCCAtKgAwIBAgIUYdazVD+VnI7jBu7xLaW+npfwHJIwDQYJKoZIhvcNAQEL
BQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJ
BgNVBAoMAk1DMQ0wCwYDVQQLDARyb290MRUwEwYDVQQDDAxyb290Y2EuYWRtaW4x
HzAdBgkqhkiG9w0BCQEWEHJvb3RjYUBhZG1pbi5jb20wIBcNMjEwNzA5MTkxMTU0
WhgPMjEyMTA2MTUxOTExNTRaMHgxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEM
MAoGA1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDEQMA4GA1UE
AwwHaW50ZXJjYTEgMB4GCSqGSIb3DQEJARYRaW50ZXJjYUBhZG1pbi5jb20wggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ8QgVwEjy3CgJFvET7tYNBw97
4i33EHQT4ZuayGCJ+ADY3ZFpsw2M1IPlbAguqfBkcLd8TAjWNRAdsm9ubGlIcTZr
7LNle3gvc7qEP4qg0i6M7D06CDqtBaIJ1PMTJchOouGU9ntBe+h0qg8tzpiqJdIw
jIOPRWW98Hw9KgF6++2jtlcOW1IxiFSWqf0Mpc81qKukcxnsHjvdxmBp/Z1vL42E
m5xNOGXoxpjq8NygSuVDhQ/bZUnmHLmvv9MXe9Ob52rlzea/YafLpOeNGSA1aCxm
Fx0lcoXWp4xpoyJn9St7vmH3t7quBKdqt54zwcuHjhgZPSR6RikodKHtsl8TAgMB
AAGjZjBkMB0GA1UdDgQWBBTdAXu8aBbvkvxYD5Ss9/Ml5VgohjAfBgNVHSMEGDAW
gBSMsBNO3UGBteMZOTq5fDPG2aPx8DASBgNVHRMBAf8ECDAGAQH/AgEBMA4GA1Ud
DwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEA0hJCtrCI9Mf47+y3pvsTjiaT
TZwpNE0cdxHjpcCHJWX2jmGbqqA6wvQ7yy4PFarmnFOoW3hQFeiLgpz9X86YTRzF
8dj3Q2MKXf6i6/iW+Y96GFqurshKp7wV25wfzWwLXcVCiM1xYPWYSyGsZAGotu4M
c7uolVABjJu5nci9mBxVmaYV5oT1mxrvq3dCPm2AvmVFNWPNRbMSAuT5B7FUDvWG
xvd1aDFduqL0iLAcrTifMIYI3XL4pBSIlL78dgY45WL6616EF3mHhW/Y4k4PNq1I
Fz08Q3y99ilhzeAci1jv6KBVHiALZNFFtYjd10KX95qnF9SomBjCTPsQ9PTC5g==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIID2zCCAsOgAwIBAgIUdxRGMrv1ONRI/dJXUHa3isjVXuwwDQYJKoZIhvcNAQEL
BQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJ
BgNVBAoMAk1DMQ0wCwYDVQQLDARyb290MRUwEwYDVQQDDAxyb290Y2EuYWRtaW4x
HzAdBgkqhkiG9w0BCQEWEHJvb3RjYUBhZG1pbi5jb20wIBcNMjEwNzA5MTkxMTU0
WhgPMjEyMTA2MTUxOTExNTRaMHwxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEM
MAoGA1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDEVMBMGA1UE
AwwMcm9vdGNhLmFkbWluMR8wHQYJKoZIhvcNAQkBFhByb290Y2FAYWRtaW4uY29t
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Bqlx+ngRZfWjktX6urJ
Tpg2//n3uMW8Gp55SVq+lbpkNXuA3W0uTlom/2fsnzmMmBAJUvv/NaLcFSN++0/d
fYGVhogxjlRoyaXa4sdFPg2ocM+lCHLGhWpYuVdTWPknikTOVNbh9z94SLRfrP8N
kuxGNZNktnVm+QJmrCLmjvnPvQlcP/WqFYehFM26NaRzswOhLLRU1YK8aVlh9Vto
PGSTPtZK60XwTfyCj/zEvHqpbGbKJPp7W0rpxl7ehPQIzGQt5IMH3zKrqLm4/pt+
XFEVqy724sstthS73bvXguWxBLOzuMze8CbI6SJpcHaH8HO5pfFMPyE5N5l2x9Co
uQIDAQABo1MwUTAdBgNVHQ4EFgQUjLATTt1BgbXjGTk6uXwzxtmj8fAwHwYDVR0j
BBgwFoAUjLATTt1BgbXjGTk6uXwzxtmj8fAwDwYDVR0TAQH/BAUwAwEB/zANBgkq
hkiG9w0BAQsFAAOCAQEAL9/7YtxIbuTt7dgH1KOMb/y6P3Qb79fTVZTx073E2ZBj
OfSuMGUhKC30LWQXCQEsY4WpugJ4cS0NsArSYsO5XWguqgjYlWL6poOmYhGvj7ou
oi44oYqcPm6EbvLrAKdI67bkbSPLzgs+6TrxTyXHzPKFBqGBnuHaFKjgb4hGiPmd
JWKrh3fbTtuLjqSHd0Gey2uBNFql4LhPutdsCUhSOD3BibAeTbXyln70AgpTCoWT
9Qr9Ux6HYIiAHSDBzzuN8EcrlnAm9RO4zRyUVwxDsHoNsOUwybn50IM66p83HuiY
h/iX5uNjaFAADfRR4rQOwb6MLreVH2XYUSiz4M/ijg==
-----END CERTIFICATE-----

@ -1,27 +0,0 @@
-----BEGIN X509 CRL-----
MIICBDCB7QIBATANBgkqhkiG9w0BAQsFADCBgTELMAkGA1UEBhMCVVMxCzAJBgNV
BAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJBgNVBAoMAk1DMQ0wCwYDVQQLDARyb290
MRMwEQYDVQQDDApwYXJ0bmVyYWNhMSYwJAYJKoZIhvcNAQkBFhdwYXJ0bmVyYWNh
QHBhcnRuZXJhLmNvbRcNMjEwNzA5MTkxMjM1WhcNMjIwNzA5MTkxMjM1WjAnMCUC
FF9rJlU9U6JdFIeK/xRojaoxHdc5Fw0yMTA3MDkxOTEyMzVaoA4wDDAKBgNVHRQE
AwIBADANBgkqhkiG9w0BAQsFAAOCAQEAfByR//FGHSsVQbaS51d59o82XocOGnnT
p1hjceqtLGv3bhiebVrsRCOB5TsvE/r2IbB/yHYTe3+LJisIUqBxblQ6xK6IM+qA
3fY646YnPT5pvdZAPZ2BCN/xP3xqGffFKapQ9cz0/36YE3vaEoUDlC2VHK0OXI0t
4CLwAmiptUT2GW4Bk1RtokAsFiUNwNIOlRX5bywUNwkG7EuitR90QSGH3l/vyii2
0c1Fm9He9MskwipjXpJKKb+t+m1pdpOVkSjRfjmVqi4BZwWlnQjELSLywhJ+WZG2
Z1NgRjzPXotFKK+YD97Kx1L260A1eUZ46zSq73oUZr0EDZRnNJTr6A==
-----END X509 CRL-----
-----BEGIN X509 CRL-----
MIICLDCCARQCAQEwDQYJKoZIhvcNAQELBQAwgYExCzAJBgNVBAYTAlVTMQswCQYD
VQQIDAJDQTEMMAoGA1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9v
dDETMBEGA1UEAwwKcGFydG5lcmJjYTEmMCQGCSqGSIb3DQEJARYXcGFydG5lcmJj
YUBwYXJ0bmVyYi5jb20XDTIxMDcwOTE5MTIzNVoXDTIyMDcwOTE5MTIzNVowTjAl
AhQTZhDgbKuvX7iLRUBBTiWXBPKM1xcNMjEwNzA5MTkxMjM1WjAlAhRfayZVPVOi
XRSHiv8UaI2qMR3XORcNMjEwNzA5MTkxMjM1WqAOMAwwCgYDVR0UBAMCAQEwDQYJ
KoZIhvcNAQELBQADggEBAMIltmJ036f1BmK/baISJTZTu7PKZgSZMNORnpFT8KvC
s2GNRor5bGp5qvD6LHvsx92YVppCC6xd/beCFBtdyYifqw5xtOvqLQKuqCfxruLz
EqYjKXE/3v8VdyU71J7kFqi0U0Gy4/h/YCL92e5KNbATlmcn5ToyI2EBIEfBfV08
mm7FBXvbHRzqhfrnCNEjBWBWz3zkJMc9Rib26eCCofYIDkY2HvYSN78YgrnMmD6O
hWOXrPoxArxvmDr5rG4vCadqbQYRkkCAOP0hBeMiB0SAcO2W2LNNAmHWXX7FvU3n
ZRZUX31WoVjhNeEQtNBb2mPYBXHQzLC66qYm1p97afc=
-----END X509 CRL-----

@ -1,6 +0,0 @@
name = NSScrypto-non-validator
nssSecmodDirectory = ./src/test/resources/pki-certs/non-validator/nssdb
nssDbMode = readOnly
nssModule = keystore

@ -1,70 +0,0 @@
-----BEGIN CERTIFICATE-----
MIID8DCCAtigAwIBAgIUcATI/N49JsZyAuyS8gfW6BppdBEwDQYJKoZIhvcNAQEL
BQAweDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJ
BgNVBAoMAk1DMQ0wCwYDVQQLDARyb290MRAwDgYDVQQDDAdpbnRlcmNhMSAwHgYJ
KoZIhvcNAQkBFhFpbnRlcmNhQGFkbWluLmNvbTAgFw0yMTA3MDkxOTExNTRaGA8y
MTIxMDYxNTE5MTE1NFowgYExCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEMMAoG
A1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDETMBEGA1UEAwwK
cGFydG5lcmFjYTEmMCQGCSqGSIb3DQEJARYXcGFydG5lcmFjYUBwYXJ0bmVyYS5j
b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDccGhUDD8T8m6e2x13
B0LgCDR8F2vlfAw9FN/tXOKKU3DpagJk0CAutL6YFFYs9MXg8D6bZx+w0iXUnaN/
6rjIC1LFs79AizpEaoFWDzcVI66ItSW1Swu3ts0I1kK7EGgAMba0TDTnssfrtuPw
rOA2TOdVX03owOE+gaaPonIQlnew5+NNGhbW+P/5ix1IQXhyuNjV/uu3VEJBGNTh
cAuMGdjvglFuz4zyFon4kNRcQvghs5ztjs2h5ZNHjEo6YtNIdJuRS/XOXII9MfPN
plcwJArWTM3yEATNBtdc5FypOSI6cO/Pl+SVEf4kKmnzJQZWOSGiDXbpm938hGVw
ByZPAgMBAAGjZjBkMB0GA1UdDgQWBBQhpkZg+Ktqh6sFCjtm9HE+9bLJ3TAfBgNV
HSMEGDAWgBTdAXu8aBbvkvxYD5Ss9/Ml5VgohjASBgNVHRMBAf8ECDAGAQH/AgEA
MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEAIggdc0DCxEiNaKak
/xbc7uGiGBb+UzBTjk4BmX9kEFrZf4XEaHzsptltqcQDCVtzcbFFFxMYhv/w/1g/
WMNuUhL0mmGIGMxfoqkg50tNyuHW6aSrBXErel9WthGXAhUSzdHgkWxl3pe2wgda
qIcSwTCFgOeVWTZRdKWqKNPHirBglJHUpMgLo0qa0Ug1hxiyOQRt2yXLpe/mH3pG
cozhrEDYQMOcDhYTpPwM2Bl+TsRPpxFaV4QDfiOyvUDFLMM0dyhl2pukjay/Xpp2
+6Tsnaa+Ui0sDcM3A36Q07+E4Vugxjzfb9a36Eg4XE+Jg3jDA8UOqjeFg9gkK3aY
NaI0qQ==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIID6jCCAtKgAwIBAgIUYdazVD+VnI7jBu7xLaW+npfwHJIwDQYJKoZIhvcNAQEL
BQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJ
BgNVBAoMAk1DMQ0wCwYDVQQLDARyb290MRUwEwYDVQQDDAxyb290Y2EuYWRtaW4x
HzAdBgkqhkiG9w0BCQEWEHJvb3RjYUBhZG1pbi5jb20wIBcNMjEwNzA5MTkxMTU0
WhgPMjEyMTA2MTUxOTExNTRaMHgxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEM
MAoGA1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDEQMA4GA1UE
AwwHaW50ZXJjYTEgMB4GCSqGSIb3DQEJARYRaW50ZXJjYUBhZG1pbi5jb20wggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ8QgVwEjy3CgJFvET7tYNBw97
4i33EHQT4ZuayGCJ+ADY3ZFpsw2M1IPlbAguqfBkcLd8TAjWNRAdsm9ubGlIcTZr
7LNle3gvc7qEP4qg0i6M7D06CDqtBaIJ1PMTJchOouGU9ntBe+h0qg8tzpiqJdIw
jIOPRWW98Hw9KgF6++2jtlcOW1IxiFSWqf0Mpc81qKukcxnsHjvdxmBp/Z1vL42E
m5xNOGXoxpjq8NygSuVDhQ/bZUnmHLmvv9MXe9Ob52rlzea/YafLpOeNGSA1aCxm
Fx0lcoXWp4xpoyJn9St7vmH3t7quBKdqt54zwcuHjhgZPSR6RikodKHtsl8TAgMB
AAGjZjBkMB0GA1UdDgQWBBTdAXu8aBbvkvxYD5Ss9/Ml5VgohjAfBgNVHSMEGDAW
gBSMsBNO3UGBteMZOTq5fDPG2aPx8DASBgNVHRMBAf8ECDAGAQH/AgEBMA4GA1Ud
DwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEA0hJCtrCI9Mf47+y3pvsTjiaT
TZwpNE0cdxHjpcCHJWX2jmGbqqA6wvQ7yy4PFarmnFOoW3hQFeiLgpz9X86YTRzF
8dj3Q2MKXf6i6/iW+Y96GFqurshKp7wV25wfzWwLXcVCiM1xYPWYSyGsZAGotu4M
c7uolVABjJu5nci9mBxVmaYV5oT1mxrvq3dCPm2AvmVFNWPNRbMSAuT5B7FUDvWG
xvd1aDFduqL0iLAcrTifMIYI3XL4pBSIlL78dgY45WL6616EF3mHhW/Y4k4PNq1I
Fz08Q3y99ilhzeAci1jv6KBVHiALZNFFtYjd10KX95qnF9SomBjCTPsQ9PTC5g==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIID2zCCAsOgAwIBAgIUdxRGMrv1ONRI/dJXUHa3isjVXuwwDQYJKoZIhvcNAQEL
BQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJ
BgNVBAoMAk1DMQ0wCwYDVQQLDARyb290MRUwEwYDVQQDDAxyb290Y2EuYWRtaW4x
HzAdBgkqhkiG9w0BCQEWEHJvb3RjYUBhZG1pbi5jb20wIBcNMjEwNzA5MTkxMTU0
WhgPMjEyMTA2MTUxOTExNTRaMHwxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEM
MAoGA1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDEVMBMGA1UE
AwwMcm9vdGNhLmFkbWluMR8wHQYJKoZIhvcNAQkBFhByb290Y2FAYWRtaW4uY29t
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Bqlx+ngRZfWjktX6urJ
Tpg2//n3uMW8Gp55SVq+lbpkNXuA3W0uTlom/2fsnzmMmBAJUvv/NaLcFSN++0/d
fYGVhogxjlRoyaXa4sdFPg2ocM+lCHLGhWpYuVdTWPknikTOVNbh9z94SLRfrP8N
kuxGNZNktnVm+QJmrCLmjvnPvQlcP/WqFYehFM26NaRzswOhLLRU1YK8aVlh9Vto
PGSTPtZK60XwTfyCj/zEvHqpbGbKJPp7W0rpxl7ehPQIzGQt5IMH3zKrqLm4/pt+
XFEVqy724sstthS73bvXguWxBLOzuMze8CbI6SJpcHaH8HO5pfFMPyE5N5l2x9Co
uQIDAQABo1MwUTAdBgNVHQ4EFgQUjLATTt1BgbXjGTk6uXwzxtmj8fAwHwYDVR0j
BBgwFoAUjLATTt1BgbXjGTk6uXwzxtmj8fAwDwYDVR0TAQH/BAUwAwEB/zANBgkq
hkiG9w0BAQsFAAOCAQEAL9/7YtxIbuTt7dgH1KOMb/y6P3Qb79fTVZTx073E2ZBj
OfSuMGUhKC30LWQXCQEsY4WpugJ4cS0NsArSYsO5XWguqgjYlWL6poOmYhGvj7ou
oi44oYqcPm6EbvLrAKdI67bkbSPLzgs+6TrxTyXHzPKFBqGBnuHaFKjgb4hGiPmd
JWKrh3fbTtuLjqSHd0Gey2uBNFql4LhPutdsCUhSOD3BibAeTbXyln70AgpTCoWT
9Qr9Ux6HYIiAHSDBzzuN8EcrlnAm9RO4zRyUVwxDsHoNsOUwybn50IM66p83HuiY
h/iX5uNjaFAADfRR4rQOwb6MLreVH2XYUSiz4M/ijg==
-----END CERTIFICATE-----

@ -1,126 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDE53iE0LzazjEw
rPyUsnsn6GAwRmL8YdEQsD2SyUN59DnEV2gNuwmI446xv+eimdOcxaQTG4zjlIzN
RHpjYeV9JVrMfUV0T39/rbBVtv4mwsa2rTaC9qUyBzX7NjzYr+fEJ4G0TYlVaiGz
We8KyIRn47zlkmYPx42Hip75pE/7EcP87G0b38i6phdYkvsyAq6eIDbgTYa/otMx
z+mSejtcWgFxkShib6jXa5ycDJdxaAUlzqqUoYprvbiixgr/ga1gZs6lhB+sBO1P
hKjHFNnLNogFz+xDF8JRcYwqHPp4dCr150+mZasZcKxGRxB+a9/Ccjz2ZMlGRjGE
Vu6qwK0DAgMBAAECggEBALuBlaIcyQsweWVaBjlv8ZmiTx8JmC+w0o8q1afXozsa
WHxhpAQXTdAeqv8XuXR9Oie7ijBr9vGtv5ulj0reqdRP4zSCQsatAcRLWXV2inXM
28CQGC4ExHFsrnooPy816+Y+nORfRd2h8K/Df8BsDLKGC5cun6R9KoideCBQ2Z1C
tJYVrVC4/pPzAQAJIpE+xH6UwsrUnnBo31HdzaIl7Nh/4S/4F0RVSyrqKjZfEE4p
7Xt1ZpcQOQUo32YLOPjPwJuWGwVDM9jwaqI4fR3ckpaicMb8ihc0zlLjxQk2Cj8X
tockv6X4RdnviHp56Z9Lzfr+A/u9/dlT5Q8Sqz10K/ECgYEA6/ss5kbEEy4QjOlz
6lgJJhdTD5Tb1Zbbwu5unk8vVQrIbFCFc8o29qSQ5NCoRQ0b4BAPTlL5UsUMfwi2
+g3iXmZScuNpR8ai9cfImEkZcxezknKBnJxLZ0nAym5eGCoF/da2dWGZ9NL/3kN2
6e4Tz5++xp12/oQ58MoYd+eZFJkCgYEA1ZuoPPdy3NA/dgjoaJ6r0HYgNW18FMq/
Lj7fGXT4IluCRndXhW/FBcNfqpzXcOBwRsf0PiiMuLW+LDJnT9XLr58/IqpbjS+s
I/oAtaTwkwBtcmSAR/L33O/IpZ9lh2PD0I+5JDlvAQp8ESoSS2ceD1xxyz4nyIVn
xTaRVKdnM/sCgYEAmzlUVoD0Fv21C0vA4MRZ+EFddKFhXYTnN7ko8F977f+yyHTK
49h/AQxM9wY9uXYfAOrvdoDj2cseJi2wVpltbtT1pPbr2LfTl8J7s5hZ8jgD+e/y
S/cPLnj4JPAmWtTBrjBfQqUZ5U4p2qUcAlKFm4wjrHgFvvNxPW9iWvTv3/kCgYEA
oChvgha+hpWVn3iaWSbvCAQpriWC7Uv/ADufp0Sub4RRL2h3tNLS1LliV1f1qOp/
BHMTzC83I58REa5RC+jvKaSq/+DfeAKQfQEL2yXqQy4E4co87LVd5sfal2PmChdh
UFUSqfhuJEeqMmxq/yI3xai4oXze81gjMBjz6pcBqFUCgYEArVZbnwTSueEwSSGn
Ba9FBjwj44hrD+khAGODcpyBg0sC22hYuSJiUgpiRHb77XGNLK/Rn2i3ZUyuww03
HfYgeXFO6DeuSy8jU7nP0FcLFmvZq7JqzFS6T46z7zepTSnIK5PSVuHAPy7nZTqC
BAHouXhT1BsH1rCY7vVH7LVXQhs=
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIExDCCA6ygAwIBAgIUX2smVT1Tol0Uh4r/FGiNqjEd1zYwDQYJKoZIhvcNAQEL
BQAwgYExCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEMMAoGA1UEBwwDU0ZPMQsw
CQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDETMBEGA1UEAwwKcGFydG5lcmFjYTEm
MCQGCSqGSIb3DQEJARYXcGFydG5lcmFjYUBwYXJ0bmVyYS5jb20wIBcNMjEwNzA5
MTkxMjAzWhgPMjEyMTA2MTUxOTEyMDNaMIGHMQswCQYDVQQGEwJVUzELMAkGA1UE
CAwCQ0ExDDAKBgNVBAcMA1NGTzELMAkGA1UECgwCTUMxDTALBgNVBAsMBHJvb3Qx
FjAUBgNVBAMMDW5vbi12YWxpZGF0b3IxKTAnBgkqhkiG9w0BCQEWGm5vbi12YWxp
ZGF0b3JAcGFydG5lcmEuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAxOd4hNC82s4xMKz8lLJ7J+hgMEZi/GHRELA9kslDefQ5xFdoDbsJiOOOsb/n
opnTnMWkExuM45SMzUR6Y2HlfSVazH1FdE9/f62wVbb+JsLGtq02gvalMgc1+zY8
2K/nxCeBtE2JVWohs1nvCsiEZ+O85ZJmD8eNh4qe+aRP+xHD/OxtG9/IuqYXWJL7
MgKuniA24E2Gv6LTMc/pkno7XFoBcZEoYm+o12ucnAyXcWgFJc6qlKGKa724osYK
/4GtYGbOpYQfrATtT4SoxxTZyzaIBc/sQxfCUXGMKhz6eHQq9edPpmWrGXCsRkcQ
fmvfwnI89mTJRkYxhFbuqsCtAwIDAQABo4IBKDCCASQwEQYJYIZIAYb4QgEBBAQD
AgbAMB0GA1UdDgQWBBRXMoam1AQo0jGVQxCRxbHlU18FPTAJBgNVHRMEAjAAMA4G
A1UdDwEB/wQEAwIF4DAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwgbUG
A1UdIwSBrTCBqoAUIaZGYPiraoerBQo7ZvRxPvWyyd2hfKR6MHgxCzAJBgNVBAYT
AlVTMQswCQYDVQQIDAJDQTEMMAoGA1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsG
A1UECwwEcm9vdDEQMA4GA1UEAwwHaW50ZXJjYTEgMB4GCSqGSIb3DQEJARYRaW50
ZXJjYUBhZG1pbi5jb22CFHAEyPzePSbGcgLskvIH1ugaaXQRMA0GCSqGSIb3DQEB
CwUAA4IBAQCdXem4j/D85ME7kOU6G4DpMOfFsGJEQ20oovKpEoqm0wKaEp61TGci
q9UjEQI0Istxb0x7xykqP5UAlGXk/xDXFLcz+pe2M/vKo/4sJBEvxV+yr33Cgwli
PL3XgiRqaDEXVcRXa2RcwW+HVzrBOvQz8IYdFeeqt7y+sCqw3oMkaAPKDv9H+gcL
5EI+3r9WRnQmy8VWF8FuGWZG1daDnlFC0mm/PvOctVP+YROB7mbwfs+68xtqadWe
pHdIG+rX7Bs4hZ5mXNu4Hwl+iCPRRj1uyfNkwfx3BsWnR142RksFgZjlTLaGCFCk
Qf3PEFIHpi+kiPzI5Qm8hUVLNWcJiHhO
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIID8DCCAtigAwIBAgIUcATI/N49JsZyAuyS8gfW6BppdBEwDQYJKoZIhvcNAQEL
BQAweDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJ
BgNVBAoMAk1DMQ0wCwYDVQQLDARyb290MRAwDgYDVQQDDAdpbnRlcmNhMSAwHgYJ
KoZIhvcNAQkBFhFpbnRlcmNhQGFkbWluLmNvbTAgFw0yMTA3MDkxOTExNTRaGA8y
MTIxMDYxNTE5MTE1NFowgYExCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEMMAoG
A1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDETMBEGA1UEAwwK
cGFydG5lcmFjYTEmMCQGCSqGSIb3DQEJARYXcGFydG5lcmFjYUBwYXJ0bmVyYS5j
b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDccGhUDD8T8m6e2x13
B0LgCDR8F2vlfAw9FN/tXOKKU3DpagJk0CAutL6YFFYs9MXg8D6bZx+w0iXUnaN/
6rjIC1LFs79AizpEaoFWDzcVI66ItSW1Swu3ts0I1kK7EGgAMba0TDTnssfrtuPw
rOA2TOdVX03owOE+gaaPonIQlnew5+NNGhbW+P/5ix1IQXhyuNjV/uu3VEJBGNTh
cAuMGdjvglFuz4zyFon4kNRcQvghs5ztjs2h5ZNHjEo6YtNIdJuRS/XOXII9MfPN
plcwJArWTM3yEATNBtdc5FypOSI6cO/Pl+SVEf4kKmnzJQZWOSGiDXbpm938hGVw
ByZPAgMBAAGjZjBkMB0GA1UdDgQWBBQhpkZg+Ktqh6sFCjtm9HE+9bLJ3TAfBgNV
HSMEGDAWgBTdAXu8aBbvkvxYD5Ss9/Ml5VgohjASBgNVHRMBAf8ECDAGAQH/AgEA
MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEAIggdc0DCxEiNaKak
/xbc7uGiGBb+UzBTjk4BmX9kEFrZf4XEaHzsptltqcQDCVtzcbFFFxMYhv/w/1g/
WMNuUhL0mmGIGMxfoqkg50tNyuHW6aSrBXErel9WthGXAhUSzdHgkWxl3pe2wgda
qIcSwTCFgOeVWTZRdKWqKNPHirBglJHUpMgLo0qa0Ug1hxiyOQRt2yXLpe/mH3pG
cozhrEDYQMOcDhYTpPwM2Bl+TsRPpxFaV4QDfiOyvUDFLMM0dyhl2pukjay/Xpp2
+6Tsnaa+Ui0sDcM3A36Q07+E4Vugxjzfb9a36Eg4XE+Jg3jDA8UOqjeFg9gkK3aY
NaI0qQ==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIID6jCCAtKgAwIBAgIUYdazVD+VnI7jBu7xLaW+npfwHJIwDQYJKoZIhvcNAQEL
BQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJ
BgNVBAoMAk1DMQ0wCwYDVQQLDARyb290MRUwEwYDVQQDDAxyb290Y2EuYWRtaW4x
HzAdBgkqhkiG9w0BCQEWEHJvb3RjYUBhZG1pbi5jb20wIBcNMjEwNzA5MTkxMTU0
WhgPMjEyMTA2MTUxOTExNTRaMHgxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEM
MAoGA1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDEQMA4GA1UE
AwwHaW50ZXJjYTEgMB4GCSqGSIb3DQEJARYRaW50ZXJjYUBhZG1pbi5jb20wggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ8QgVwEjy3CgJFvET7tYNBw97
4i33EHQT4ZuayGCJ+ADY3ZFpsw2M1IPlbAguqfBkcLd8TAjWNRAdsm9ubGlIcTZr
7LNle3gvc7qEP4qg0i6M7D06CDqtBaIJ1PMTJchOouGU9ntBe+h0qg8tzpiqJdIw
jIOPRWW98Hw9KgF6++2jtlcOW1IxiFSWqf0Mpc81qKukcxnsHjvdxmBp/Z1vL42E
m5xNOGXoxpjq8NygSuVDhQ/bZUnmHLmvv9MXe9Ob52rlzea/YafLpOeNGSA1aCxm
Fx0lcoXWp4xpoyJn9St7vmH3t7quBKdqt54zwcuHjhgZPSR6RikodKHtsl8TAgMB
AAGjZjBkMB0GA1UdDgQWBBTdAXu8aBbvkvxYD5Ss9/Ml5VgohjAfBgNVHSMEGDAW
gBSMsBNO3UGBteMZOTq5fDPG2aPx8DASBgNVHRMBAf8ECDAGAQH/AgEBMA4GA1Ud
DwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEA0hJCtrCI9Mf47+y3pvsTjiaT
TZwpNE0cdxHjpcCHJWX2jmGbqqA6wvQ7yy4PFarmnFOoW3hQFeiLgpz9X86YTRzF
8dj3Q2MKXf6i6/iW+Y96GFqurshKp7wV25wfzWwLXcVCiM1xYPWYSyGsZAGotu4M
c7uolVABjJu5nci9mBxVmaYV5oT1mxrvq3dCPm2AvmVFNWPNRbMSAuT5B7FUDvWG
xvd1aDFduqL0iLAcrTifMIYI3XL4pBSIlL78dgY45WL6616EF3mHhW/Y4k4PNq1I
Fz08Q3y99ilhzeAci1jv6KBVHiALZNFFtYjd10KX95qnF9SomBjCTPsQ9PTC5g==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIID2zCCAsOgAwIBAgIUdxRGMrv1ONRI/dJXUHa3isjVXuwwDQYJKoZIhvcNAQEL
BQAwfDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJ
BgNVBAoMAk1DMQ0wCwYDVQQLDARyb290MRUwEwYDVQQDDAxyb290Y2EuYWRtaW4x
HzAdBgkqhkiG9w0BCQEWEHJvb3RjYUBhZG1pbi5jb20wIBcNMjEwNzA5MTkxMTU0
WhgPMjEyMTA2MTUxOTExNTRaMHwxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEM
MAoGA1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9vdDEVMBMGA1UE
AwwMcm9vdGNhLmFkbWluMR8wHQYJKoZIhvcNAQkBFhByb290Y2FAYWRtaW4uY29t
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Bqlx+ngRZfWjktX6urJ
Tpg2//n3uMW8Gp55SVq+lbpkNXuA3W0uTlom/2fsnzmMmBAJUvv/NaLcFSN++0/d
fYGVhogxjlRoyaXa4sdFPg2ocM+lCHLGhWpYuVdTWPknikTOVNbh9z94SLRfrP8N
kuxGNZNktnVm+QJmrCLmjvnPvQlcP/WqFYehFM26NaRzswOhLLRU1YK8aVlh9Vto
PGSTPtZK60XwTfyCj/zEvHqpbGbKJPp7W0rpxl7ehPQIzGQt5IMH3zKrqLm4/pt+
XFEVqy724sstthS73bvXguWxBLOzuMze8CbI6SJpcHaH8HO5pfFMPyE5N5l2x9Co
uQIDAQABo1MwUTAdBgNVHQ4EFgQUjLATTt1BgbXjGTk6uXwzxtmj8fAwHwYDVR0j
BBgwFoAUjLATTt1BgbXjGTk6uXwzxtmj8fAwDwYDVR0TAQH/BAUwAwEB/zANBgkq
hkiG9w0BAQsFAAOCAQEAL9/7YtxIbuTt7dgH1KOMb/y6P3Qb79fTVZTx073E2ZBj
OfSuMGUhKC30LWQXCQEsY4WpugJ4cS0NsArSYsO5XWguqgjYlWL6poOmYhGvj7ou
oi44oYqcPm6EbvLrAKdI67bkbSPLzgs+6TrxTyXHzPKFBqGBnuHaFKjgb4hGiPmd
JWKrh3fbTtuLjqSHd0Gey2uBNFql4LhPutdsCUhSOD3BibAeTbXyln70AgpTCoWT
9Qr9Ux6HYIiAHSDBzzuN8EcrlnAm9RO4zRyUVwxDsHoNsOUwybn50IM66p83HuiY
h/iX5uNjaFAADfRR4rQOwb6MLreVH2XYUSiz4M/ijg==
-----END CERTIFICATE-----

@ -1,27 +0,0 @@
-----BEGIN X509 CRL-----
MIICBDCB7QIBATANBgkqhkiG9w0BAQsFADCBgTELMAkGA1UEBhMCVVMxCzAJBgNV
BAgMAkNBMQwwCgYDVQQHDANTRk8xCzAJBgNVBAoMAk1DMQ0wCwYDVQQLDARyb290
MRMwEQYDVQQDDApwYXJ0bmVyYWNhMSYwJAYJKoZIhvcNAQkBFhdwYXJ0bmVyYWNh
QHBhcnRuZXJhLmNvbRcNMjEwNzA5MTkxMjM1WhcNMjIwNzA5MTkxMjM1WjAnMCUC
FF9rJlU9U6JdFIeK/xRojaoxHdc5Fw0yMTA3MDkxOTEyMzVaoA4wDDAKBgNVHRQE
AwIBADANBgkqhkiG9w0BAQsFAAOCAQEAfByR//FGHSsVQbaS51d59o82XocOGnnT
p1hjceqtLGv3bhiebVrsRCOB5TsvE/r2IbB/yHYTe3+LJisIUqBxblQ6xK6IM+qA
3fY646YnPT5pvdZAPZ2BCN/xP3xqGffFKapQ9cz0/36YE3vaEoUDlC2VHK0OXI0t
4CLwAmiptUT2GW4Bk1RtokAsFiUNwNIOlRX5bywUNwkG7EuitR90QSGH3l/vyii2
0c1Fm9He9MskwipjXpJKKb+t+m1pdpOVkSjRfjmVqi4BZwWlnQjELSLywhJ+WZG2
Z1NgRjzPXotFKK+YD97Kx1L260A1eUZ46zSq73oUZr0EDZRnNJTr6A==
-----END X509 CRL-----
-----BEGIN X509 CRL-----
MIICLDCCARQCAQEwDQYJKoZIhvcNAQELBQAwgYExCzAJBgNVBAYTAlVTMQswCQYD
VQQIDAJDQTEMMAoGA1UEBwwDU0ZPMQswCQYDVQQKDAJNQzENMAsGA1UECwwEcm9v
dDETMBEGA1UEAwwKcGFydG5lcmJjYTEmMCQGCSqGSIb3DQEJARYXcGFydG5lcmJj
YUBwYXJ0bmVyYi5jb20XDTIxMDcwOTE5MTIzNVoXDTIyMDcwOTE5MTIzNVowTjAl
AhQTZhDgbKuvX7iLRUBBTiWXBPKM1xcNMjEwNzA5MTkxMjM1WjAlAhRfayZVPVOi
XRSHiv8UaI2qMR3XORcNMjEwNzA5MTkxMjM1WqAOMAwwCgYDVR0UBAMCAQEwDQYJ
KoZIhvcNAQELBQADggEBAMIltmJ036f1BmK/baISJTZTu7PKZgSZMNORnpFT8KvC
s2GNRor5bGp5qvD6LHvsx92YVppCC6xd/beCFBtdyYifqw5xtOvqLQKuqCfxruLz
EqYjKXE/3v8VdyU71J7kFqi0U0Gy4/h/YCL92e5KNbATlmcn5ToyI2EBIEfBfV08
mm7FBXvbHRzqhfrnCNEjBWBWz3zkJMc9Rib26eCCofYIDkY2HvYSN78YgrnMmD6O
hWOXrPoxArxvmDr5rG4vCadqbQYRkkCAOP0hBeMiB0SAcO2W2LNNAmHWXX7FvU3n
ZRZUX31WoVjhNeEQtNBb2mPYBXHQzLC66qYm1p97afc=
-----END X509 CRL-----

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save