Sync kyber-master with 1.3

- Create new branch 1.3-kyber
- Working travis tests
- Fix and inconsistencies
This commit is contained in:
Ahmed Muawia Khan 2018-02-20 17:19:07 +01:00
parent 7454c588b7
commit 1bbbb903b4
28 changed files with 530 additions and 939 deletions

View File

@ -10,8 +10,8 @@ elif [[ "${BIGCHAINDB_DATABASE_BACKEND}" == mongodb && \
# Connect to MongoDB on port 27017 via a normal, unsecure connection if
# BIGCHAINDB_DATABASE_SSL is unset.
# It is unset in this case in .travis.yml.
docker pull mongo:3.4.4
docker run -d --publish=27017:27017 --name mdb-without-ssl mongo:3.4.4 \
docker pull mongo:3.4.10
docker run -d --publish=27017:27017 --name mdb-without-ssl mongo:3.4.10 \
--replSet=bigchain-rs
elif [[ "${BIGCHAINDB_DATABASE_BACKEND}" == mongodb && \
"${BIGCHAINDB_DATABASE_SSL}" == true ]]; then
@ -19,16 +19,15 @@ elif [[ "${BIGCHAINDB_DATABASE_BACKEND}" == mongodb && \
# BIGCHAINDB_DATABASE_SSL is set.
# It is set to 'true' here in .travis.yml. Dummy certificates for testing
# are stored under bigchaindb/tests/backend/mongodb-ssl/certs/ directory.
docker pull mongo:3.4.4
docker pull mongo:3.4.10
docker run -d \
--name mdb-with-ssl \
--publish=27017:27017 \
--volume=${TRAVIS_BUILD_DIR}/tests/backend/mongodb-ssl/certs:/certs \
mongo:3.4.4 \
mongo:3.4.10 \
--replSet=bigchain-rs \
--sslAllowInvalidHostnames \
--sslMode=requireSSL \
--sslCAFile=/certs/ca.crt \
--sslCAFile=/certs/ca-chain.cert.pem \
--sslCRLFile=/certs/crl.pem \
--sslPEMKeyFile=/certs/test_mdb_ssl_cert_and_key.pem
--sslPEMKeyFile=/certs/local-mongo.pem
fi

View File

@ -102,6 +102,7 @@ config = {
'graphite': {
'host': os.environ.get('BIGCHAINDB_GRAPHITE_HOST', 'localhost'),
},
'consensus_plugin': os.environ.get('BIGCHAINDB_CONSENSUS_PLUGIN') or None,
}
# We need to maintain a backup copy of the original config dict in case
@ -110,3 +111,4 @@ config = {
_config = copy.deepcopy(config)
from bigchaindb.core import Bigchain # noqa
from bigchaindb.version import __version__ # noqa

View File

@ -1,6 +1,7 @@
# Separate all crypto code so that we can easily test several implementations
from collections import namedtuple
import nacl.signing
import sha3
from cryptoconditions import crypto
@ -12,10 +13,45 @@ def hash_data(data):
"""Hash the provided data using SHA3-256"""
return sha3.sha3_256(data.encode()).hexdigest()
class Ed25519SigningKeyFromHash(crypto.Ed25519SigningKey):
def __init__(self, key, encoding='base58'):
super().__init__(key, encoding=encoding)
def generate_key_pair():
@classmethod
def generate(cls, hash_bytes):
return cls(nacl.signing.SigningKey(hash_bytes).encode(encoder=crypto.Base58Encoder))
def ed25519_generate_key_pair_from_secret(secret):
"""
Generate a new key pair.
Args:
secret (:class:`string`): A secret that serves as a seed
Returns:
A tuple of (private_key, public_key) encoded in base58.
"""
# if you want to do this correctly, use a key derivation function!
if not isinstance(secret, bytes):
secret = secret.encode()
hash_bytes = sha3.keccak_256(secret).digest()
sk = Ed25519SigningKeyFromHash.generate(hash_bytes=hash_bytes)
# Private key
private_value_base58 = sk.encode(encoding='base58')
# Public key
public_value_compressed_base58 = sk.get_verifying_key().encode(encoding='base58')
return private_value_base58, public_value_compressed_base58
def generate_key_pair(secret=None):
"""Generates a cryptographic key pair.
Args:
secret (:class:`string`): A secret that serves as seed
Returns:
:class:`~bigchaindb.common.crypto.CryptoKeypair`: A
:obj:`collections.namedtuple` with named fields
@ -23,10 +59,15 @@ def generate_key_pair():
:attr:`~bigchaindb.common.crypto.CryptoKeypair.public_key`.
"""
if secret:
keypair_raw = ed25519_generate_key_pair_from_secret(secret)
else:
keypair_raw = crypto.ed25519_generate_key_pair()
# TODO FOR CC: Adjust interface so that this function becomes unnecessary
return CryptoKeypair(
*(k.decode() for k in crypto.ed25519_generate_key_pair()))
*(k.decode() for k in keypair_raw))
PrivateKey = crypto.Ed25519SigningKey
PublicKey = crypto.Ed25519VerifyingKey

View File

@ -1025,6 +1025,21 @@ class Transaction(object):
tx = Transaction._remove_signatures(self.to_dict())
return Transaction._to_str(tx)
@staticmethod
def get_asset_ids(transactions):
if not isinstance(transactions, list):
transactions = [transactions]
if not len(transactions):
return []
# create a set of the transactions' asset ids
asset_ids = {tx.id if tx.operation == Transaction.CREATE
else tx.asset['id']
for tx in transactions}
return asset_ids
@staticmethod
def get_asset_id(transactions):
"""Get the asset id from a list of :class:`~.Transactions`.
@ -1045,14 +1060,9 @@ class Transaction(object):
:exc:`AssetIdMismatch`: If the inputs are related to different
assets.
"""
if not isinstance(transactions, list):
transactions = [transactions]
# create a set of the transactions' asset ids
asset_ids = {tx.id if tx.operation == Transaction.CREATE
else tx.asset['id']
for tx in transactions}
asset_ids = Transaction.get_asset_ids(transactions)
if len(asset_ids) == 0:
return None
# check that all the transasctions have the same asset id
if len(asset_ids) > 1:
@ -1098,3 +1108,4 @@ class Transaction(object):
outputs = [Output.from_dict(output) for output in tx['outputs']]
return cls(tx['operation'], tx['asset'], inputs, outputs,
tx['metadata'], tx['version'])

View File

@ -252,6 +252,16 @@ def autoconfigure(filename=None, config=None, force=False):
set_config(newconfig) # sets bigchaindb.config
def load_from_path(path):
module_path, object_name = path.split(':')
module_name = os.path.basename(module_path).split('.').pop(0)
spec = importlib.util.spec_from_file_location(module_name, module_path)
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
return getattr(module, object_name)
@lru_cache()
def load_consensus_plugin(name=None):
"""Find and load the chosen consensus plugin.
@ -263,9 +273,11 @@ def load_consensus_plugin(name=None):
Returns:
an uninstantiated subclass of ``bigchaindb.consensus.AbstractConsensusRules``
"""
if not name:
if not name or name == 'default':
return BaseConsensusRules
if not isinstance(name, str) and issubclass(name, (BaseConsensusRules,)):
return name
# TODO: This will return the first plugin with group `bigchaindb.consensus`
# and name `name` in the active WorkingSet.
# We should probably support Requirements specs in the config, e.g.
@ -275,7 +287,7 @@ def load_consensus_plugin(name=None):
plugin = entry_point.load()
# No matching entry_point found
if not plugin:
if not plugin and name:
raise ResolutionError(
'No plugin found in group `bigchaindb.consensus` with name `{}`'.
format(name))
@ -300,3 +312,4 @@ def load_events_plugins(names=None):
plugins.append((name, entry_point.load()))
return plugins

View File

@ -1,3 +1,4 @@
from bigchaindb.models import Transaction
from bigchaindb.voting import Voting
@ -15,9 +16,28 @@ class BaseConsensusRules():
def validate_transaction(bigchain, transaction):
"""See :meth:`bigchaindb.models.Transaction.validate`
for documentation."""
return transaction.validate(bigchain)
input_txs = None
result = transaction.validate(bigchain, input_txs)
if transaction.operation == Transaction.TRANSFER:
input_txs = transaction.get_input_txs(bigchain)
transaction.validate_asset(
bigchain,
[input_tx
for (input_, input_tx, status)
in input_txs if input_tx is not None])
transaction.validate_amount(
[input_tx.outputs[input_.fulfills.output]
for (input_, input_tx, status)
in input_txs if input_tx is not None])
return result
@staticmethod
def validate_block(bigchain, block):
"""See :meth:`bigchaindb.models.Block.validate` for documentation."""
return block.validate(bigchain)

View File

@ -31,7 +31,7 @@ class Bigchain(object):
TX_IN_BACKLOG = 'backlog'
"""return if transaction is in backlog"""
def __init__(self, public_key=None, private_key=None, keyring=[], connection=None, backlog_reassign_delay=None):
def __init__(self, public_key=None, private_key=None, keyring=[], connection=None, backlog_reassign_delay=None, consensus_plugin=None):
"""Initialize the Bigchain instance
A Bigchain instance has several configuration parameters (e.g. host).
@ -61,7 +61,10 @@ class Bigchain(object):
backlog_reassign_delay = bigchaindb.config['backlog_reassign_delay']
self.backlog_reassign_delay = backlog_reassign_delay
consensusPlugin = bigchaindb.config.get('consensus_plugin')
if consensus_plugin is None:
consensusPlugin = bigchaindb.config.get('consensus_plugin')
else:
consensusPlugin = None
if consensusPlugin:
self.consensus = config_utils.load_consensus_plugin(consensusPlugin)
@ -687,3 +690,4 @@ class Bigchain(object):
tx, status = self.get_transaction(obj['id'], True)
if status == self.TX_VALID:
yield obj

View File

@ -14,11 +14,12 @@ from bigchaindb.backend.schema import validate_language_key
class Transaction(Transaction):
def validate(self, bigchain):
def validate(self, bigchain, input_txs=None):
"""Validate transaction spend
Args:
bigchain (Bigchain): an instantiated bigchaindb.Bigchain object.
input_txs: input transactions
Returns:
The transaction (Transaction) if the transaction is valid else it
@ -32,17 +33,16 @@ class Transaction(Transaction):
if self.operation == Transaction.TRANSFER:
# store the inputs so that we can check if the asset ids match
input_txs = []
for input_ in self.inputs:
if not input_txs:
input_txs = self.get_input_txs(bigchain)
for input_, input_tx, input_status in input_txs:
input_txid = input_.fulfills.txid
input_tx, status = bigchain.\
get_transaction(input_txid, include_status=True)
if input_tx is None:
raise InputDoesNotExist("input `{}` doesn't exist"
.format(input_txid))
if status != bigchain.TX_VALID:
if input_status != bigchain.TX_VALID:
raise TransactionNotInValidBlock(
'input `{}` does not exist in a valid block'.format(
input_txid))
@ -54,34 +54,46 @@ class Transaction(Transaction):
output = input_tx.outputs[input_.fulfills.output]
input_conditions.append(output)
input_txs.append(input_tx)
# Validate that all inputs are distinct
links = [i.fulfills.to_uri() for i in self.inputs]
if len(links) != len(set(links)):
raise DoubleSpend('tx "{}" spends inputs twice'.format(self.id))
# validate asset id
asset_id = Transaction.get_asset_id(input_txs)
if asset_id != self.asset['id']:
raise AssetIdMismatch(('The asset id of the input does not'
' match the asset id of the'
' transaction'))
input_amount = sum([input_condition.amount for input_condition in input_conditions])
output_amount = sum([output_condition.amount for output_condition in self.outputs])
if output_amount != input_amount:
raise AmountError(('The amount used in the inputs `{}`'
' needs to be same as the amount used'
' in the outputs `{}`')
.format(input_amount, output_amount))
if not self.inputs_valid(input_conditions):
raise InvalidSignature('Transaction signature is invalid.')
return self
def get_input_txs(self, bigchain):
input_txs = []
for input_ in self.inputs:
input_txid = input_.fulfills.txid
input_tx, status = bigchain.get_transaction(input_txid,
include_status=True)
input_txs.append((input_, input_tx, status))
return input_txs
def validate_asset(self, bigchain, input_txs=None):
# validate asset id
asset_id = Transaction.get_asset_id(input_txs)
if asset_id != self.asset['id']:
raise AssetIdMismatch(('The asset id of the input does not'
' match the asset id of the'
' transaction'))
return self
def validate_amount(self, input_conditions):
input_amount = sum([input_condition.amount for input_condition in input_conditions])
output_amount = sum([output_condition.amount for output_condition in self.outputs])
if output_amount != input_amount:
raise AmountError(('The amount used in the inputs `{}`'
' needs to be same as the amount used'
' in the outputs `{}`')
.format(input_amount, output_amount))
return self
@classmethod
def from_dict(cls, tx_body):
validate_transaction_schema(tx_body)
@ -527,3 +539,4 @@ class FastTransaction:
def to_dict(self):
return self.data

View File

@ -98,9 +98,12 @@ class Dispatcher:
for tx in block['block']['transactions']:
asset_id = tx['id'] if tx['operation'] == 'CREATE' else tx['asset']['id']
asset = tx['asset'] if tx['operation'] == 'CREATE' else None
data = {'block_id': block['id'],
'asset_id': asset_id,
'transaction_id': tx['id']}
'transaction_id': tx['id'],
'asset': asset,
'metadata': tx['metadata']}
str_buffer.append(json.dumps(data))
for _, websocket in self.subscribers.items():
@ -171,3 +174,4 @@ def start(sync_event_source, loop=None):
aiohttp.web.run_app(app,
host=config['wsserver']['host'],
port=config['wsserver']['port'])

View File

@ -28,6 +28,8 @@ services:
BIGCHAINDB_DATABASE_PORT: 27017
BIGCHAINDB_SERVER_BIND: 0.0.0.0:9984
BIGCHAINDB_WSSERVER_HOST: 0.0.0.0
BIGCHAINDB_WSSERVER_PORT: 9985
ports:
- "9984"
- 9984:9984
- 9985:9985
command: bigchaindb start

View File

@ -51,7 +51,6 @@ tests_require = [
'hypothesis-regex',
'pylint',
'pytest>=3.0.0',
'pytest-catchlog>=1.2.2',
'pytest-cov>=2.2.1',
'pytest-mock',
'pytest-xdist',
@ -80,7 +79,7 @@ install_requires = [
'multipipes~=0.1.0',
'jsonschema~=2.5.1',
'pyyaml~=3.12',
'aiohttp~=2.0',
'aiohttp~=2.3',
'python-rapidjson-schema==0.1.1',
'statsd==3.2.1',
]
@ -137,3 +136,4 @@ setup(
},
package_data={'bigchaindb.common.schema': ['*.yaml']},
)

View File

@ -31,7 +31,7 @@ def test_validate_transfer_asset_id_mismatch(b, user_pk, user_sk):
tx_transfer.asset['id'] = 'aaa'
tx_transfer_signed = tx_transfer.sign([user_sk])
with pytest.raises(AssetIdMismatch):
tx_transfer_signed.validate(b)
b.validate_transaction(tx_transfer_signed)
def test_get_asset_id_create_transaction(b, user_pk):
@ -84,3 +84,4 @@ def test_create_valid_divisible_asset(b, user_pk, user_sk):
tx = Transaction.create([user_pk], [([user_pk], 2)])
tx_signed = tx.sign([user_sk])
tx_signed.validate(b)

View File

@ -543,7 +543,7 @@ def test_amount_error_transfer(b, user_pk, user_sk):
asset_id=tx_create.id)
tx_transfer_signed = tx_transfer.sign([user_sk])
with pytest.raises(AmountError):
tx_transfer_signed.validate(b)
b.validate_transaction(tx_transfer_signed)
# TRANSFER
# output amount greater than input amount
@ -551,7 +551,7 @@ def test_amount_error_transfer(b, user_pk, user_sk):
asset_id=tx_create.id)
tx_transfer_signed = tx_transfer.sign([user_sk])
with pytest.raises(AmountError):
tx_transfer_signed.validate(b)
b.validate_transaction(tx_transfer_signed)
@pytest.mark.skip(reason='Figure out how to handle this case')

View File

@ -0,0 +1,31 @@
-----BEGIN CERTIFICATE-----
MIIFUDCCAzigAwIBAgICEAIwDQYJKoZIhvcNAQELBQAwgYExCzAJBgNVBAYTAkRF
MQ8wDQYDVQQIDAZCZXJsaW4xEDAOBgNVBAoMB1Jvb3QgQ0ExGDAWBgNVBAsMD0lu
dGVybWVkaWF0ZSBDQTEQMA4GA1UEAwwHaW50ZXJjYTEjMCEGCSqGSIb3DQEJARYU
aW50ZXJAYmlnY2hhaW5kYi5jb20wHhcNMTgwMjAxMTYwNjM2WhcNMTkwMjExMTYw
NjM2WjCBizELMAkGA1UEBhMCREUxDzANBgNVBAgMBkJlcmxpbjEPMA0GA1UEBwwG
QmVybGluMRMwEQYDVQQKDApCaWdjaGFpbkRCMREwDwYDVQQLDAhTZWN1cml0eTEP
MA0GA1UEAwwGYmRic3NsMSEwHwYJKoZIhvcNAQkBFhJkZXZAYmlnY2hhaW5kYi5j
b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDjTYHstu3eeMS/Dhne
kgOrttBEsv45mFfOR1GGHEp40aPTV71gfeYU6MkheQapeBAQoqvi0RjKvBpEtqnB
8YnRExdtyML4mINMleO9z++e0GAuUmUsfWFaYg6vsAh2rsrBKe59khMiAgK9QpPK
WVhmbctCnaQbxRwRSJ37RE7xpeOefjQHsystEDzPYMTzfK6mnoqEJRmf4SdXUePt
d6tJci3J455Egb95DcZeO6ogxcXa/4spwg5nuHdCrib/ABA1IOvqdQpxE5djwADt
gDEdDaWI1zim8QTA7hE931gBIKvoh/LbhOuXY0W0ILdrcWntrhdDYLBXOo3uYPEC
Fq1DAgMBAAGjgcUwgcIwCQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMCBaAwMwYJ
YIZIAYb4QgENBCYWJE9wZW5TU0wgR2VuZXJhdGVkIENsaWVudCBDZXJ0aWZpY2F0
ZTAdBgNVHQ4EFgQULZ3p5SOor88llO9mBJ00W8lVxqUwHwYDVR0jBBgwFoAUOetg
50PN0oOp/KAfSVSaM2lBos8wDgYDVR0PAQH/BAQDAgXgMB0GA1UdJQQWMBQGCCsG
AQUFBwMCBggrBgEFBQcDBDANBgkqhkiG9w0BAQsFAAOCAgEAW9L3cHttCEFLLarP
lKrNI2S1RbETfQsxGTY+CRwf0d4kSFZWgh2enNjEs2WkEZCXdHnSkUtATtPmiDIS
e/uext5FQM+ht0mwKpuFrX/aG0lo3EQgpVNlacHpCPN0XkTPxEvIzD9IMagzj1oy
j1Asaedt+/cAgcfOSPHczL8LqxtQSyt9SFOyxrYiYZGl9LPC59aaROisrSTVP7yl
89eO0+mNnaS72Dx+izukckgQ13ZFYXDhFrh8euLCONI0nSVkCPMwndRE1iy7+6UD
u6tlIZB/py0qEeaT63igX4Vbv4tRiluisUjO2hfYyWwaHa7HcVF4w6JsyS5U/HjD
gaBf2DGP5IWGvwUvPy4unhoRmP/3uACYQhAIuWTuCZUytygWIhjVwJ6KWTJ0VkHp
9S76r/6R0yl9YgCdyWqSFGcl/+eSgKPDqJHSnjVCYUS/lX0c+s6qa50TpX3fwo/T
xfSUWT7WnlkdkltL12ah2OgDfBmu4OwF4DQWbZLS8fkW8Ql5L9zFfubY6atFya53
KbPJ/eeQPP94vrJsswuKaTCfdfYtn+NP4c+q91E1vPSSGsP2KuqPNf5izINzQIVw
Sud7R15GLMfzgbfKyJNJu0udDmRlEWSWuVAc3Nq6S0rY811uGq4KpiD4MBgW/mZx
QVLsY1ZV40j9rDf4ngVpkEVEaEo=
-----END CERTIFICATE-----

View File

@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEA402B7Lbt3njEvw4Z3pIDq7bQRLL+OZhXzkdRhhxKeNGj01e9
YH3mFOjJIXkGqXgQEKKr4tEYyrwaRLapwfGJ0RMXbcjC+JiDTJXjvc/vntBgLlJl
LH1hWmIOr7AIdq7KwSnufZITIgICvUKTyllYZm3LQp2kG8UcEUid+0RO8aXjnn40
B7MrLRA8z2DE83yupp6KhCUZn+EnV1Hj7XerSXItyeOeRIG/eQ3GXjuqIMXF2v+L
KcIOZ7h3Qq4m/wAQNSDr6nUKcROXY8AA7YAxHQ2liNc4pvEEwO4RPd9YASCr6Ify
24Trl2NFtCC3a3Fp7a4XQ2CwVzqN7mDxAhatQwIDAQABAoIBAQCf4PefGbhMgGPb
Ar8dd1TPpiHuAHyi5E32kOF91E5plwOFdzSEN2nrkSVPvwH5l7KtEM6YFn06tH5B
kL3s5ckLX0NefBTvqM7JwrBS5XxlF6pfSqNRXMtqOIid+NKrMBz7K1RNzL5acFGe
78JmVNvCCD4tGBbDVax9V7ePcieY/cN989lH1PDzDubcBEtdjfTnf650+SBOtfP+
I1ALXPwlHjZXRqqTAyKK6Cpesl4KRcFGNhRQdyR8RQNeoJa1vVN3eeml+P75jxmj
Z6mmkvBWhG0MXAqtMULCHLMNL207BUHwqOj4IeThht9sxHCWpyXKp/PQs9Gcq3GO
x3syRMkZAoGBAPpDzIHMWz5FpBYG2mwXKHKdDn6pb1gcB8a4WQMjLjqkyqxhcxQY
NzD4cCnrk83rdvyeAhyQ6Iy8g247hygexs5qkZt8oflmfLG1GKbYxqBKuW0YmWim
eM2aEIQtvJyhKjU2ugHF0W661gZDbkOa9vR4a2XmUJdYgErHM0XKavSFAoGBAOiC
/+TTdsEPHqiHw7YTvXn6iBl3yDmuxrr7SVM+hBwoOHA5AzscCaks+Go73FegNVY9
8XYXXfl+l9QfJjXv49Cts6InsPOgfUFsYc4Uz3mLWGpwF0x6EcxFwzn7s6BMjO+m
f5QJGG2e0JWYAWvZocq2BXlRx7pnrW1JSEJXQ8knAoGBAIXuvMaGGBqWaH8FQeVw
60uTM8ujX5w2vA6kX7anIDlwMarZKB4L65WAj35PvbUJG4+L/DNPdbTDuk7G+skE
135mV/BvXbu8FmWANmYsQvhLpTp2XLs9xA68MbSbSYJFWfJKjHcgZ7mrsZh+g8cY
aqtgupE5Fc45JcdfHdhuwJiFAoGAevhVqEsiwoZhm5Z6LsEP9ARJmNaeAcvq9RdT
t4AX1OB8wPWWPNveTCgpld3k8j8cFmmaW++N1xdZ62kyB1LBdSt5FujREHiv5jsR
GzIsbMcC0wBHgj4JTbUTxIXXgY8a9uBjFwMcdVWKUaPcFJM8m35bNMfIz1BoC6W3
XsbSZf8CgYEAin0ISGe9XHV6dRufENOBHuqRi5L7zObKd0nD3fMFoIn4fL9Yz2De
pif6QbCXmXbkj8zAU7XsBQA86kMPoqYnGHBaXs1pT3Zh6DjyxOTdrFbzR13wDaOX
PSLgMsBzWQ2hgjDFNd2QAM0mn99h7LwnGJk1hOlsmKnHUct4ysenQOg=
-----END RSA PRIVATE KEY-----

View File

@ -0,0 +1,69 @@
-----BEGIN CERTIFICATE-----
MIIF8jCCA9qgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgY0xCzAJBgNVBAYTAkRF
MQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEQMA4GA1UECgwHUm9v
dCBDQTEVMBMGA1UECwwMUm9vdCBDQSB1bml0MQ8wDQYDVQQDDAZyb290Y2ExIjAg
BgkqhkiG9w0BCQEWE3Jvb3RAYmlnY2hhaW5kYi5jb20wHhcNMTgwMjAxMTUxNTU2
WhcNMjgwMTMwMTUxNTU2WjCBgTELMAkGA1UEBhMCREUxDzANBgNVBAgMBkJlcmxp
bjEQMA4GA1UECgwHUm9vdCBDQTEYMBYGA1UECwwPSW50ZXJtZWRpYXRlIENBMRAw
DgYDVQQDDAdpbnRlcmNhMSMwIQYJKoZIhvcNAQkBFhRpbnRlckBiaWdjaGFpbmRi
LmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANVnqRB4YYRzSWhf
isKl+p1p74DyqbmcYZ32ktnRwA1nR8ekpsqBVz0QwwsVQ4e9Idh4EPQQbPS1hbCn
e+SelhCf+QOnGHhcsaepSfNa3ZfA3xx7xia9kUlWuWm3t+nWoYBIJCxFpX8G9oMp
Snrc3yaJNexeG4OkV2ErAV6y8+fmHJeOJl+5+ICBxHNB634qjXq3cz/rpM4iFNRc
neafaivZ51GnXpGSAX9G9+PmVN4Y/sQWVnLc5eVB/iFAEgxJ1KyITu3eLkQOWvh2
kNVgzMTpeeHgqHAhLrgymBfr9eKKaYm0KIUCa8IKpFgZ6EzTWyYFcnAZEIWtR/01
NbGMLJcpfG6mnd2NW6skzzktwGcF3OSTk9dSjOzpIpg3zPsRYuM2jFy7rJpE9xZg
oa0tJn1mVjsEo1Ul8xzij7FMYjY9RaQaUfo8RivsYH0SYCCfs9jA0jaRZALbCTUS
fCd6WOLmUJHGFz8EJO/D79hzvUvD+klhNN2EM5YpVanWpibfrfJL+EDiCJBpSGrE
6K41ZO/Q/R/pX5ozYX0MQwgwNgWkMhv2uiQRYehh7eaaWDZIJBAUUut6DzZfXjnf
USNugweXYJAZu0mZsIxP3MMxEP2qOUSd6e9wYhOr2PHjQxhXdJDnFXvtqI096H5M
Gsbpo2pHu5sFMmA/2VnzdKghcT1LAgMBAAGjZjBkMB0GA1UdDgQWBBQ562DnQ83S
g6n8oB9JVJozaUGizzAfBgNVHSMEGDAWgBRL92fqd5vEpmxN3Wrr16DwxU2MTjAS
BgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF
AAOCAgEAaLeu4WEDirOVlq3Yvm0s5K44mQeTuhiQTCwZffCY4purZI/8Y0f+CLhc
MI9vF8LAwzO53S3vJohw84vDJTAlx4WUrB6hkvDZxo/xj5GoRT5Do+xL6yT1z4Me
fmC9kHHcd4tBGhsHHfftekL7rdRx68eM2HjKRu/eHfUQY+UVgfUWxMyzwOwI0g+c
snE7SmhcAV21YpJtrLGxrczpCLkEhHkdgqm8/mZLx3wQHkQY76NcD0j3Wel9Zuzy
Y7EaXCIdhLzceA+yrrg4c649rvlROQyYrBlC2dZMJvAzq/PHwF9ie02ryW9V2jad
t6zpK1k3Rlq776WyT03qN22W1Qhfcwz0VLL/wS7mkls1916Z8uNWFinMeTiLXxgs
W6RxSksBbjevTRfpuRY9OH+ChyirIIpc5eSMWPppnuqtxAsEuBFbjWcpxRusVLrW
RR/E2h7yHuJ+b/OPV23mtoY3erOINWZarTs8CKz0h65Z20GLvVy2w6GqbP4Mxekb
rdCJ+N4wTUP9I9cDyezoMXpyamOMPjyD2Q1BsMlq779j0qaqaoYrxg5e7HW09gJs
1dUoVhOYacS88UgfGr0Qzc6D7vt50euAYFZdgPxWr1sYPowGLsqs1sDh8+2YRnPz
60QPrKNswZTKak17QcCTPt9++fYHF1Jsvl7F/eQLC6vcrKwXK6I=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
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
lJTb9M/s
-----END CERTIFICATE-----

View File

@ -1,39 +0,0 @@
-----BEGIN CERTIFICATE-----
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
lEAdkN13aos01b6Xk9Dn4bf7
-----END CERTIFICATE-----

View File

@ -1,23 +1,19 @@
-----BEGIN X509 CRL-----
MIIDvzCCAacCAQEwDQYJKoZIhvcNAQELBQAwgZsxCzAJBgNVBAYTAkRFMQ8wDQYD
VQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEYMBYGA1UECgwPQmlnY2hhaW5E
QiBHbWJIMRAwDgYDVQQLDAdST09ULUNBMRswGQYDVQQDDBJUZXN0IEluZnJhIFJv
b3QgQ0ExITAfBgkqhkiG9w0BCQEWEmRldkBiaWdjaGFpbmRiLmNvbRcNMTcwNjEz
MTQzNjU1WhcNMTcxMjEwMTQzNjU1WqCB1jCB0zCB0AYDVR0jBIHIMIHFgBRpx4WA
ZOaQQOkwaIgj0k277N+YmKGBoaSBnjCBmzELMAkGA1UEBhMCREUxDzANBgNVBAgM
BkJlcmxpbjEPMA0GA1UEBwwGQmVybGluMRgwFgYDVQQKDA9CaWdjaGFpbkRCIEdt
YkgxEDAOBgNVBAsMB1JPT1QtQ0ExGzAZBgNVBAMMElRlc3QgSW5mcmEgUm9vdCBD
QTEhMB8GCSqGSIb3DQEJARYSZGV2QGJpZ2NoYWluZGIuY29tggkA6AayySqcLvww
DQYJKoZIhvcNAQELBQADggIBAGGHwjqvEayCkMzacIrhLlT97ra/5BGv9DIsVJUo
oEL+NuCl3lyd3lP+jr+cam+tqGJhsf43i7ZndmU4CKPS2WbZWENGSFcVIcNV05qT
YvGE62TpX74ZbFUAAsrZSyEGJFkREyrIwCc6b8O0Gr0BKCbnmlj/3XEhe9bsAu8m
bZiN6I1e89Wbz+nNzUi1cE2ZRRQgiTX4CFuvl9L37N4KvAHH1HJn6xzWx+VYP5xQ
vN1SK0SvsWHk3jiiyRazunWgJrdwmorqWApYHFybUNKw4B5btKe3ezl13ZXOIwDA
Ui6Fhi1jHj0yimZfieChD/bqGKEBFwrYp44ZRz52cg+YYcYzY72Rn6g7x8TsbNt0
7h4jq2MEQ3We4zYEXFz7ZPxNLn7wYxx0x5h2E5vPaXXp5W/TzpCquSkpGSWF26OH
QAXaDOESAJV3e2oPFN8Wger3Oj7FTa0IZtne1aH/wnY0keDsVuvA8sHoy1Ylw72H
cv6D2ABEm4erAJ7n6BQ/unYXd+qKCYPLdxdOyd9lBGJhk6uN+Nzued/z8SjV3XEb
i6JvHwUEl/hwRWFF3k5vDaX4d5Z4kTIzO9+4ut44WRcgJ4zRd64ZKpGPEnTg3VsJ
oqQmwcfBvThKZmgrvUnvPzGYbA5LduQYRJ+elD5hGHBOEvayAof3FLKZZG8zNjip
lLJj
MIIC/TCB5gIBATANBgkqhkiG9w0BAQsFADCBgTELMAkGA1UEBhMCREUxDzANBgNV
BAgMBkJlcmxpbjEQMA4GA1UECgwHUm9vdCBDQTEYMBYGA1UECwwPSW50ZXJtZWRp
YXRlIENBMRAwDgYDVQQDDAdpbnRlcmNhMSMwIQYJKoZIhvcNAQkBFhRpbnRlckBi
aWdjaGFpbmRiLmNvbRcNMTgwMjAxMTUzMTE4WhcNMTkwMjAxMTUzMTE4WqAwMC4w
HwYDVR0jBBgwFoAUOetg50PN0oOp/KAfSVSaM2lBos8wCwYDVR0UBAQCAhAAMA0G
CSqGSIb3DQEBCwUAA4ICAQCWIYWP9k73MJVW+dKKKQ7ixnxOCdowXni82AVFq/yS
E9hknqIZfQ760xpwZ/je8/oljTXGp/dHOVksnuAQsy3xf8DcRzuj1Xo/5vMMmQ3K
iQjyR3UhjN4WT6BiIhO1KhDO3eqQU3oq99ClPlMSkl4AX0y7IzFI6Ysy+C5daPYr
bKSpH1VQ3UGz8YZahihaUxeIqNxBOiHDXkG4d0MnbyAYWVAq315VZVKFm7TzExQs
cO3g9YULwsSpE5micMMW/LpXADC6jUYESSwEnWBZetb4yQKuF/NN82uYq/Wz+BKQ
qDHR8jUMZ8vqldu4nYtBT0QjUxuqAkwOB8p5tZH2Xp8vTz+LsPPj3bqsFg8ZoCIf
ZBalWTgoQurVIdYkT4W6MhT0l/qYXKHyfHKrS9ArH38herAzSfK50Pq9vCDLlFzs
PAf3RDdq0kIW2tDL0GJk6eZe0qlpbPaHGUBlw0UmNG+d3b8uhskSRlp2ne9DLY/N
iODjfgoDKJRfRFz3XjSxHiGb7T+wiosUS5mm7pYH3A3a9wEaRGosr8kqKm7f8e19
X0gVKaq67L9m1/Jo66peOTPCYpe3kJh27UTauRI8S8x861czvOpUeeV0OJz9iy0H
aHbqxdnR2H0cj7tPDEni0E+dfQjyOxfAE3KKDhWnG63vEf4s3wPkk6nyUoaY7mGB
9A==
-----END X509 CRL-----

View File

@ -0,0 +1,61 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEApJ/nhAsKLM/vfI1fyQe1T0j6zUrhn88Qwn+qkOgbEF4lFpOD
H/j6CaQ2XVdO7JF/+sD2gr3cr1wI5PiJuFTinAWZLDG7dwVrr2jJ1H/Pw+ChF/2k
d4fHmfdLijfiQUTljX9eE+RhzqRe7xv362YelkprHL/lGHQpiqxGkRLa09QmRnzM
YEitzDEoqgszlLH5sAX3EEl9fX9xl8mZpbHt2P7vYi22IoEPlUGu494ANlwIhoRD
eaJZWipuF/Ycdm5PvK9kZ9WxpeGKLwWdT9mxYK4311/4R7Ux6V8+abb8XC2n0DJy
+MH1PxYKAy8emu4zUX7UbRgZt0Ww2BJpwp7MQQIDAQABAoIBAQCc6HBhUahsF/D6
tUEjuf4dSMEL5SByEom16LspDKGnEySkhQsI8WVYxTSv+OSX5QKnfT44VUC/v6gW
nbGeiQHIliltjyVQB1GhSe59ZSkhWLwSwsX8y+T6olNUtXkonsNw/4Iq0ZZLwC1g
GDdQHfBvbRT0vQ5eJXHm49cKtX7vQJGyVTGC295cBoBV/549N9TpJDA4Mqf1sWhb
787QPL5j2+E0gaPBx/T14Uygg2KFjdpihijDeo5PYZpk/Oqi5h0cySvFGAx2IhBj
EUBEN+5GrI2y8bk6e80k8a/zT+xxeXBHHdRqVSruh7SjgZIgL+G7WssuTLPHMnFM
brl742ABAoGBAM9uyiCOCRb82ZmyT2o/uqOLIpvdwXlnhb6uBXUR2DUBW2S83oM8
81Yd47eG7WWR4u0v37T6HVp2zzVxp0+d9SHLdnl6uoXFk84I2uSTMzU7GHO8whmJ
lGHtSw2yKFhE64HyfS/JhBB1a/QZff8QFeZHRiQsd7FBb2StuVmFEDKBAoGBAMsr
Qi6LXNu08P442f53iw4PLdVEgtOt8EwTyyPDBQJ/n2wrUwJXq/u2N6pl2GyKfx15
6RZPFJjAKzG8zEiHX4tpmbNjnPlzNHNQS3QORnfTIdLgVDkXxSKWPKc4Hwh6Gf94
j8ssamiGS0RJzeL1UIMwkjWeaIouddV7wJMNKjnBAoGATrnkmtBtYL0cNPn4rAF9
613+B5v1Nwd0Ojc/uPvJy+w07JnF9ZcnX3K+n0PlS5w/vPdjdwNKKrBW2hjFgDEZ
/PaEg3xx2B1xiEvSD9hSIgzIrfxgymJt33C5AHyyVTXrEAmhO4bGyZxXGXCnYiuP
tDMuysHZt3t3NIW+h9w5loECgYA1M0GkQHfzTCEi4K4slQ8DgnQE+Wisl0pqEXDL
D4EbU2HiiEG3Rk/RnLhc1Uhju6xngonHfrOs//0PjBmOEGyza9aEg9wR8dnVLDxl
ymsna1DbEETdolzLnr2JKAfwR1DRdbdpg1rlveytmAnimUwY3joa8jz7mgje+wXF
O9hHwQKBgCbhYXMFqSN+eoYXz8dbYXCGTcIGEQ/+XY44Zp2NiwuDstk2qrk14kAc
/kz2twWnNKsRx54d+h/CaOZWl9PeivvYeQKTgn6q5ZfIARLLJtUxHVohjpLuHT4X
fst8+CrEGcDMOsgAO9Gb8tOM5untQouHixKgumwog9qLLDL8pQM1
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIF8zCCA9ugAwIBAgICEAMwDQYJKoZIhvcNAQELBQAwgYExCzAJBgNVBAYTAkRF
MQ8wDQYDVQQIDAZCZXJsaW4xEDAOBgNVBAoMB1Jvb3QgQ0ExGDAWBgNVBAsMD0lu
dGVybWVkaWF0ZSBDQTEQMA4GA1UEAwwHaW50ZXJjYTEjMCEGCSqGSIb3DQEJARYU
aW50ZXJAYmlnY2hhaW5kYi5jb20wHhcNMTgwMjAxMTYyMDE1WhcNMTkwMjExMTYy
MDE1WjCBmTELMAkGA1UEBhMCREUxDzANBgNVBAgMBkJlcmxpbjEPMA0GA1UEBwwG
QmVybGluMRUwEwYDVQQKDAxNb25nb0JhY2tlbmQxGjAYBgNVBAsMEVNlY3VyaXR5
IFNlcnZpY2VzMRIwEAYDVQQDDAlsb2NhbGhvc3QxITAfBgkqhkiG9w0BCQEWEm1k
YkBiaWdjaGFpbmRiLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AKSf54QLCizP73yNX8kHtU9I+s1K4Z/PEMJ/qpDoGxBeJRaTgx/4+gmkNl1XTuyR
f/rA9oK93K9cCOT4ibhU4pwFmSwxu3cFa69oydR/z8PgoRf9pHeHx5n3S4o34kFE
5Y1/XhPkYc6kXu8b9+tmHpZKaxy/5Rh0KYqsRpES2tPUJkZ8zGBIrcwxKKoLM5Sx
+bAF9xBJfX1/cZfJmaWx7dj+72IttiKBD5VBruPeADZcCIaEQ3miWVoqbhf2HHZu
T7yvZGfVsaXhii8FnU/ZsWCuN9df+Ee1MelfPmm2/Fwtp9AycvjB9T8WCgMvHpru
M1F+1G0YGbdFsNgSacKezEECAwEAAaOCAVkwggFVMAkGA1UdEwQCMAAwEQYJYIZI
AYb4QgEBBAQDAgZAMDMGCWCGSAGG+EIBDQQmFiRPcGVuU1NMIEdlbmVyYXRlZCBT
ZXJ2ZXIgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFFD+UibjVPDwwZzxHH15gPsnVeUI
MIG7BgNVHSMEgbMwgbCAFDnrYOdDzdKDqfygH0lUmjNpQaLPoYGTpIGQMIGNMQsw
CQYDVQQGEwJERTEPMA0GA1UECAwGQmVybGluMQ8wDQYDVQQHDAZCZXJsaW4xEDAO
BgNVBAoMB1Jvb3QgQ0ExFTATBgNVBAsMDFJvb3QgQ0EgdW5pdDEPMA0GA1UEAwwG
cm9vdGNhMSIwIAYJKoZIhvcNAQkBFhNyb290QGJpZ2NoYWluZGIuY29tggIQADAO
BgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQEL
BQADggIBAAA6YBwfyE2qVQGtKq/8VawTz6bB3gLpoGXhu+IgrBf/raB7jaq/k4sX
UHWE108fE/3/8DYGchC6mo0jyMQiLQxFyeeClDC3ITh+kyufIkvkwusfyjT3Fzdg
qb29lRWCc7HxzFpZCZSSc4K3ZiV+Ymrqdsts9YZJri58Qg610iLFFmAF1sDdgcov
yqGWXhnRyjbKV/ttOIr9Que+fROxnAkMpFt5kErjaxN2J+7hQO2aeGvdWkmy2lCy
Pz58ws/7LCR7XhF1mMeVxRCC+jS7qdE4h/YGrphR79qMbqdGWUOsHGJYNfWRAEle
Dj6CQ5SIL7IUh3WFxAzV2pbOkGHuv8jFVYSi140DhRFS1toDGXmAtfirPynK0s8h
iIAA0flBRQaFvkPatJPtUa7dK7ulD/3zWJS8r/CP1x44q9ia3YbBt141wtUn8Dbc
y6stkTnEzYaOpTy8bMc7s6gYFU4YjriA0LyI1z6C9m4GnVz4bfRxXBX1mebckv+l
AsElOsGvn/ol/EMbrpCCS3VMq9ax74mnK4/EvnvuXdkGrYD9BlKJnaZqldtHmOd3
pJsmD4G3Gv5UZjfwpJyjrJBHCvoCoXQo+f1FAL2Pf5/EfwUEs6Le29OLt7hLtiTe
Fzz+42DbvLKhGD5j5hgHPISI30fY34Ea0Zlbvtq9dYS9kpDZFE8p
-----END CERTIFICATE-----

View File

@ -0,0 +1,61 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEApJ/nhAsKLM/vfI1fyQe1T0j6zUrhn88Qwn+qkOgbEF4lFpOD
H/j6CaQ2XVdO7JF/+sD2gr3cr1wI5PiJuFTinAWZLDG7dwVrr2jJ1H/Pw+ChF/2k
d4fHmfdLijfiQUTljX9eE+RhzqRe7xv362YelkprHL/lGHQpiqxGkRLa09QmRnzM
YEitzDEoqgszlLH5sAX3EEl9fX9xl8mZpbHt2P7vYi22IoEPlUGu494ANlwIhoRD
eaJZWipuF/Ycdm5PvK9kZ9WxpeGKLwWdT9mxYK4311/4R7Ux6V8+abb8XC2n0DJy
+MH1PxYKAy8emu4zUX7UbRgZt0Ww2BJpwp7MQQIDAQABAoIBAQCc6HBhUahsF/D6
tUEjuf4dSMEL5SByEom16LspDKGnEySkhQsI8WVYxTSv+OSX5QKnfT44VUC/v6gW
nbGeiQHIliltjyVQB1GhSe59ZSkhWLwSwsX8y+T6olNUtXkonsNw/4Iq0ZZLwC1g
GDdQHfBvbRT0vQ5eJXHm49cKtX7vQJGyVTGC295cBoBV/549N9TpJDA4Mqf1sWhb
787QPL5j2+E0gaPBx/T14Uygg2KFjdpihijDeo5PYZpk/Oqi5h0cySvFGAx2IhBj
EUBEN+5GrI2y8bk6e80k8a/zT+xxeXBHHdRqVSruh7SjgZIgL+G7WssuTLPHMnFM
brl742ABAoGBAM9uyiCOCRb82ZmyT2o/uqOLIpvdwXlnhb6uBXUR2DUBW2S83oM8
81Yd47eG7WWR4u0v37T6HVp2zzVxp0+d9SHLdnl6uoXFk84I2uSTMzU7GHO8whmJ
lGHtSw2yKFhE64HyfS/JhBB1a/QZff8QFeZHRiQsd7FBb2StuVmFEDKBAoGBAMsr
Qi6LXNu08P442f53iw4PLdVEgtOt8EwTyyPDBQJ/n2wrUwJXq/u2N6pl2GyKfx15
6RZPFJjAKzG8zEiHX4tpmbNjnPlzNHNQS3QORnfTIdLgVDkXxSKWPKc4Hwh6Gf94
j8ssamiGS0RJzeL1UIMwkjWeaIouddV7wJMNKjnBAoGATrnkmtBtYL0cNPn4rAF9
613+B5v1Nwd0Ojc/uPvJy+w07JnF9ZcnX3K+n0PlS5w/vPdjdwNKKrBW2hjFgDEZ
/PaEg3xx2B1xiEvSD9hSIgzIrfxgymJt33C5AHyyVTXrEAmhO4bGyZxXGXCnYiuP
tDMuysHZt3t3NIW+h9w5loECgYA1M0GkQHfzTCEi4K4slQ8DgnQE+Wisl0pqEXDL
D4EbU2HiiEG3Rk/RnLhc1Uhju6xngonHfrOs//0PjBmOEGyza9aEg9wR8dnVLDxl
ymsna1DbEETdolzLnr2JKAfwR1DRdbdpg1rlveytmAnimUwY3joa8jz7mgje+wXF
O9hHwQKBgCbhYXMFqSN+eoYXz8dbYXCGTcIGEQ/+XY44Zp2NiwuDstk2qrk14kAc
/kz2twWnNKsRx54d+h/CaOZWl9PeivvYeQKTgn6q5ZfIARLLJtUxHVohjpLuHT4X
fst8+CrEGcDMOsgAO9Gb8tOM5untQouHixKgumwog9qLLDL8pQM1
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIF3zCCA8egAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgYExCzAJBgNVBAYTAkRF
MQ8wDQYDVQQIDAZCZXJsaW4xEDAOBgNVBAoMB1Jvb3QgQ0ExGDAWBgNVBAsMD0lu
dGVybWVkaWF0ZSBDQTEQMA4GA1UEAwwHaW50ZXJjYTEjMCEGCSqGSIb3DQEJARYU
aW50ZXJAYmlnY2hhaW5kYi5jb20wHhcNMTgwMjAxMTUyMTQ0WhcNMTkwMjExMTUy
MTQ0WjCBhTELMAkGA1UEBhMCREUxDzANBgNVBAgMBkJlcmxpbjEPMA0GA1UEBwwG
QmVybGluMRUwEwYDVQQKDAxNb25nb0JhY2tlbmQxDDAKBgNVBAsMA1NTTDEMMAoG
A1UEAwwDbWRiMSEwHwYJKoZIhvcNAQkBFhJtZGJAYmlnY2hhaW5kYi5jb20wggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCkn+eECwosz+98jV/JB7VPSPrN
SuGfzxDCf6qQ6BsQXiUWk4Mf+PoJpDZdV07skX/6wPaCvdyvXAjk+Im4VOKcBZks
Mbt3BWuvaMnUf8/D4KEX/aR3h8eZ90uKN+JBROWNf14T5GHOpF7vG/frZh6WSmsc
v+UYdCmKrEaREtrT1CZGfMxgSK3MMSiqCzOUsfmwBfcQSX19f3GXyZmlse3Y/u9i
LbYigQ+VQa7j3gA2XAiGhEN5ollaKm4X9hx2bk+8r2Rn1bGl4YovBZ1P2bFgrjfX
X/hHtTHpXz5ptvxcLafQMnL4wfU/FgoDLx6a7jNRftRtGBm3RbDYEmnCnsxBAgMB
AAGjggFZMIIBVTAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIGQDAzBglghkgB
hvhCAQ0EJhYkT3BlblNTTCBHZW5lcmF0ZWQgU2VydmVyIENlcnRpZmljYXRlMB0G
A1UdDgQWBBRQ/lIm41Tw8MGc8Rx9eYD7J1XlCDCBuwYDVR0jBIGzMIGwgBQ562Dn
Q83Sg6n8oB9JVJozaUGiz6GBk6SBkDCBjTELMAkGA1UEBhMCREUxDzANBgNVBAgM
BkJlcmxpbjEPMA0GA1UEBwwGQmVybGluMRAwDgYDVQQKDAdSb290IENBMRUwEwYD
VQQLDAxSb290IENBIHVuaXQxDzANBgNVBAMMBnJvb3RjYTEiMCAGCSqGSIb3DQEJ
ARYTcm9vdEBiaWdjaGFpbmRiLmNvbYICEAAwDgYDVR0PAQH/BAQDAgWgMBMGA1Ud
JQQMMAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBCwUAA4ICAQCUqeNkC8ksXXZqm36r
cvt88sEed9kXQjYx0OhIqBj5gRES5qI1eW34lQEwAP+8rX1F55S3Am6TP4eGJ6zp
clkIxw4ZQ0E65LU2uuJKzr4dWpNO/Sb/ZQcho9+M/q9fz6XmA/bTVlRzW+3CJP6n
ZJmO4M+Pyy6FjtChZ1c9CeJqaXQIYc/UrMHOOpN6XNi3hllUP0lncW+Sf0FQqmaw
QPNMx31qSVN3J4f1+wGybwvFAPOnbfk+Al2fRSt4qH4UnXfPXDTtslJ5fEwWkHwY
TysOnpU6nJz7Q+AQ8e5wgW2d02C/Pip6goQeTwjbm4y/St1djhYm/kUSeYUf1tkB
pO7GRE+QVwKmeJp+d3mxPMOYFAFh1MkiGAAfZaKMdIFZsp2E9BnOzEH+cgtja/g1
ZvLK7XqpOKW2A9wkJlhhCiBdISJCPxP3ZWP43lP0uInKFLvVxenD94IIN3Y25LE7
jJYO1fwlCUIEk9aO1Ly2nMx7zGYreV9orhFFigNBJuMuKSKDCgn5OyizQh7idLWy
h4/DnDhfMDCZKF5+rj+RCjpGCxdWOBWwTixK3leBmnXX+1r1R1Z1p92a6fYv6D7f
ZtmM0m1EWjE0lrYqionQSOJs2Nk+kAP43lj/PtJb6IbsTGoKkzhbbTQ/iPGQRzLt
QQ/i1399+titfATWQXIL/8o0Fw==
-----END CERTIFICATE-----

View File

@ -1,133 +0,0 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 2 (0x2)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=DE, ST=Berlin, L=Berlin, O=BigchainDB GmbH, OU=ROOT-CA, CN=Test Infra Root CA/emailAddress=dev@bigchaindb.com
Validity
Not Before: Jun 13 14:44:30 2017 GMT
Not After : Jun 11 14:44:30 2027 GMT
Subject: C=DE, ST=Berlin, L=Berlin, O=BigchainDB GmbH, OU=BigchainDB-Instance, CN=test-bdb-ssl/emailAddress=dev@bigchaindb.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (4096 bit)
Modulus:
00:cb:8b:a5:98:f8:cb:ab:f0:c3:e3:8a:b1:92:ba:
c3:45:e0:1e:ed:d8:f2:a8:39:02:fd:8f:0f:e1:c9:
9d:79:0c:38:38:df:a7:ef:6d:10:32:5a:1f:c8:d8:
ef:ea:a3:51:40:c3:a0:9b:67:f5:91:43:4f:05:fb:
b3:05:9a:01:47:88:53:2d:a0:67:fd:0e:1d:a3:9c:
de:1f:48:9e:e7:9f:6a:cc:04:d2:9e:36:90:e0:52:
01:11:31:6f:db:5a:aa:4e:3d:83:5c:b8:31:7d:8d:
06:8f:c1:f8:71:9e:71:a1:ee:54:8e:6c:77:5f:b4:
69:4a:2d:df:8d:6a:d3:02:26:91:3a:2e:9a:58:61:
6b:18:1a:ac:7b:c6:e4:b7:4d:ca:af:97:14:af:fa:
16:87:78:50:98:d4:d1:50:3e:e6:d1:c2:d8:85:ee:
06:5b:2d:43:8d:d8:3d:22:6d:28:59:52:44:79:e5:
49:58:82:1a:0e:7f:06:80:85:79:52:1a:c1:c0:32:
d2:28:c7:b9:c0:67:9d:5c:b3:13:08:07:95:d6:91:
87:6e:f8:53:7a:fa:67:d5:c8:07:91:d9:46:03:45:
9e:b1:be:f7:78:fb:9a:a5:73:41:cf:b5:02:73:ed:
d5:a8:da:77:bd:3c:cf:e8:e5:dc:1f:cf:d6:93:e9:
50:d4:76:f2:53:ec:a8:7d:7b:a7:84:4c:95:00:3e:
ab:f4:8e:0b:b1:2a:ef:7d:a1:66:d6:a1:f0:21:5c:
0f:94:0a:12:de:82:65:55:14:47:37:61:cf:68:12:
13:c1:f1:7b:14:5f:5c:ff:cf:b1:68:37:d6:75:5a:
7d:cc:6c:22:e6:34:07:d1:2e:66:a7:6a:1e:9f:ee:
e9:b8:5d:da:a2:25:1b:00:70:a9:65:8d:66:54:42:
49:85:fa:07:56:b4:77:26:af:70:4b:4f:ed:74:68:
72:d4:f5:f9:ea:cc:23:a3:d6:8c:39:a2:79:f6:8c:
64:4c:e3:75:17:86:6f:f1:e1:de:33:ec:28:89:e3:
3b:a1:73:c9:da:57:fa:9c:cc:8b:51:63:10:26:f3:
27:9a:c0:e2:67:2d:52:e7:41:a0:7e:6b:6d:7c:3d:
cc:4a:51:8a:62:c5:17:9c:88:c2:5f:38:a2:8d:ba:
bb:6f:82:11:e3:6c:ec:af:58:f8:06:b0:2d:02:4f:
dd:73:81:69:3f:cc:76:72:a1:db:73:43:8c:97:39:
30:49:d2:9a:77:30:49:21:85:32:0a:6a:37:bf:09:
06:60:a3:0f:e5:ba:f5:07:2a:34:e5:3b:07:1d:10:
c1:c0:38:bc:95:dc:81:b2:89:ab:d5:17:9c:21:c3:
1a:b2:61
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
X509v3 Subject Key Identifier:
B7:F5:E7:0E:F8:D8:FE:A1:56:5B:EA:80:2F:18:71:C2:44:0C:91:D0
X509v3 Authority Key Identifier:
keyid:69:C7:85:80:64:E6:90:40:E9:30:68:88:23:D2:4D:BB:EC:DF:98:98
DirName:/C=DE/ST=Berlin/L=Berlin/O=BigchainDB GmbH/OU=ROOT-CA/CN=Test Infra Root CA/emailAddress=dev@bigchaindb.com
serial:E8:06:B2:C9:2A:9C:2E:FC
X509v3 Extended Key Usage:
TLS Web Client Authentication
X509v3 Key Usage:
Digital Signature
Signature Algorithm: sha256WithRSAEncryption
78:44:00:be:10:3b:f3:40:e1:5e:e4:3a:64:99:13:71:1d:91:
96:f6:f1:0f:db:99:6c:65:c3:be:c9:0d:d7:a1:c8:7c:09:e6:
56:5b:32:44:5f:e8:00:27:b5:20:28:d9:19:5a:74:21:4f:1a:
ef:5a:e9:cc:f4:97:f1:9f:97:9b:45:35:cb:df:27:6a:75:ce:
9e:0e:11:be:03:fa:1a:91:77:9d:7d:6a:76:59:6b:98:96:09:
21:cd:ca:54:1e:1f:75:58:68:5d:af:c2:8a:18:c5:56:d9:56:
39:c6:a7:2a:a4:0e:0b:88:7e:55:72:7f:ec:07:0d:7f:7a:c0:
14:8f:44:f4:cc:3b:30:97:8a:98:e2:da:7e:88:b8:a5:93:4c:
f4:92:e1:e8:84:60:bc:f9:e4:55:0f:68:ba:34:70:4f:9f:47:
63:c1:2f:96:78:ab:43:80:87:f2:0d:10:57:a0:a0:8c:d4:93:
c3:89:ef:f0:2f:58:63:53:8c:1e:29:4c:a5:88:ec:56:af:22:
65:54:77:6c:f8:cd:68:2d:34:f7:71:cf:12:6e:ba:50:8f:30:
a0:05:31:e7:32:27:29:e5:1b:a9:40:3c:49:45:a3:8e:2d:10:
0b:b4:da:f5:73:e7:aa:d1:c7:a8:a6:f5:32:4a:33:f3:60:3d:
72:4e:b9:1e:15:e9:7d:0c:a9:f8:57:72:2b:60:24:18:47:5b:
34:f5:25:ef:93:10:4a:0b:ed:e8:39:2e:d8:9e:bd:32:67:ce:
7c:c7:a4:0e:5f:03:1e:8d:4a:7f:ac:7f:4e:7b:f8:26:44:1c:
9f:6b:a0:9e:4d:90:31:13:8a:46:5f:87:9e:bc:06:f2:b6:e5:
6b:75:d1:f3:c0:4d:fe:c5:16:34:35:ce:6e:31:f3:1f:cd:4e:
13:5d:0a:84:00:cc:72:b5:ef:a4:90:74:70:53:9b:6c:b3:58:
5e:3b:ba:5b:ff:4c:fe:47:7e:20:1c:83:04:57:7a:a5:08:ed:
29:51:11:e0:a5:81:92:b5:4f:32:74:35:be:8a:c6:82:7a:50:
45:f9:ee:57:62:a5:41:57:dc:3d:f7:bd:17:59:2d:53:2c:d0:
81:76:e8:1b:64:bd:80:94:eb:b1:f6:0f:8f:c7:50:cb:c4:c2:
33:b0:78:78:d4:61:d2:d7:54:0a:71:24:59:0f:30:23:8c:45:
d6:b9:f1:5c:99:eb:20:11:2f:ca:36:39:36:72:e9:f5:24:47:
54:54:20:4d:1d:aa:cd:ec:ec:4b:89:2b:67:00:62:64:2c:05:
19:6c:91:72:01:bb:04:0c:f0:e1:27:5e:c9:9b:f1:41:09:8a:
dc:62:85:a0:87:c8:d5:ab
-----BEGIN CERTIFICATE-----
MIIG3jCCBMagAwIBAgIBAjANBgkqhkiG9w0BAQsFADCBmzELMAkGA1UEBhMCREUx
DzANBgNVBAgMBkJlcmxpbjEPMA0GA1UEBwwGQmVybGluMRgwFgYDVQQKDA9CaWdj
aGFpbkRCIEdtYkgxEDAOBgNVBAsMB1JPT1QtQ0ExGzAZBgNVBAMMElRlc3QgSW5m
cmEgUm9vdCBDQTEhMB8GCSqGSIb3DQEJARYSZGV2QGJpZ2NoYWluZGIuY29tMB4X
DTE3MDYxMzE0NDQzMFoXDTI3MDYxMTE0NDQzMFowgaExCzAJBgNVBAYTAkRFMQ8w
DQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEYMBYGA1UECgwPQmlnY2hh
aW5EQiBHbWJIMRwwGgYDVQQLDBNCaWdjaGFpbkRCLUluc3RhbmNlMRUwEwYDVQQD
DAx0ZXN0LWJkYi1zc2wxITAfBgkqhkiG9w0BCQEWEmRldkBiaWdjaGFpbmRiLmNv
bTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMuLpZj4y6vww+OKsZK6
w0XgHu3Y8qg5Av2PD+HJnXkMODjfp+9tEDJaH8jY7+qjUUDDoJtn9ZFDTwX7swWa
AUeIUy2gZ/0OHaOc3h9InuefaswE0p42kOBSARExb9taqk49g1y4MX2NBo/B+HGe
caHuVI5sd1+0aUot341q0wImkToumlhhaxgarHvG5LdNyq+XFK/6Fod4UJjU0VA+
5tHC2IXuBlstQ43YPSJtKFlSRHnlSViCGg5/BoCFeVIawcAy0ijHucBnnVyzEwgH
ldaRh274U3r6Z9XIB5HZRgNFnrG+93j7mqVzQc+1AnPt1ajad708z+jl3B/P1pPp
UNR28lPsqH17p4RMlQA+q/SOC7Eq732hZtah8CFcD5QKEt6CZVUURzdhz2gSE8Hx
exRfXP/PsWg31nVafcxsIuY0B9EuZqdqHp/u6bhd2qIlGwBwqWWNZlRCSYX6B1a0
dyavcEtP7XRoctT1+erMI6PWjDmiefaMZEzjdReGb/Hh3jPsKInjO6FzydpX+pzM
i1FjECbzJ5rA4mctUudBoH5rbXw9zEpRimLFF5yIwl84oo26u2+CEeNs7K9Y+Aaw
LQJP3XOBaT/MdnKh23NDjJc5MEnSmncwSSGFMgpqN78JBmCjD+W69QcqNOU7Bx0Q
wcA4vJXcgbKJq9UXnCHDGrJhAgMBAAGjggEjMIIBHzAJBgNVHRMEAjAAMB0GA1Ud
DgQWBBS39ecO+Nj+oVZb6oAvGHHCRAyR0DCB0AYDVR0jBIHIMIHFgBRpx4WAZOaQ
QOkwaIgj0k277N+YmKGBoaSBnjCBmzELMAkGA1UEBhMCREUxDzANBgNVBAgMBkJl
cmxpbjEPMA0GA1UEBwwGQmVybGluMRgwFgYDVQQKDA9CaWdjaGFpbkRCIEdtYkgx
EDAOBgNVBAsMB1JPT1QtQ0ExGzAZBgNVBAMMElRlc3QgSW5mcmEgUm9vdCBDQTEh
MB8GCSqGSIb3DQEJARYSZGV2QGJpZ2NoYWluZGIuY29tggkA6AayySqcLvwwEwYD
VR0lBAwwCgYIKwYBBQUHAwIwCwYDVR0PBAQDAgeAMA0GCSqGSIb3DQEBCwUAA4IC
AQB4RAC+EDvzQOFe5DpkmRNxHZGW9vEP25lsZcO+yQ3Xoch8CeZWWzJEX+gAJ7Ug
KNkZWnQhTxrvWunM9Jfxn5ebRTXL3ydqdc6eDhG+A/oakXedfWp2WWuYlgkhzcpU
Hh91WGhdr8KKGMVW2VY5xqcqpA4LiH5Vcn/sBw1/esAUj0T0zDswl4qY4tp+iLil
k0z0kuHohGC8+eRVD2i6NHBPn0djwS+WeKtDgIfyDRBXoKCM1JPDie/wL1hjU4we
KUyliOxWryJlVHds+M1oLTT3cc8SbrpQjzCgBTHnMicp5RupQDxJRaOOLRALtNr1
c+eq0ceopvUySjPzYD1yTrkeFel9DKn4V3IrYCQYR1s09SXvkxBKC+3oOS7Ynr0y
Z858x6QOXwMejUp/rH9Oe/gmRByfa6CeTZAxE4pGX4eevAbytuVrddHzwE3+xRY0
Nc5uMfMfzU4TXQqEAMxyte+kkHRwU5tss1heO7pb/0z+R34gHIMEV3qlCO0pURHg
pYGStU8ydDW+isaCelBF+e5XYqVBV9w9970XWS1TLNCBdugbZL2AlOux9g+Px1DL
xMIzsHh41GHS11QKcSRZDzAjjEXWufFcmesgES/KNjk2cun1JEdUVCBNHarN7OxL
iStnAGJkLAUZbJFyAbsEDPDhJ17Jm/FBCYrcYoWgh8jVqw==
-----END CERTIFICATE-----

View File

@ -1,52 +0,0 @@
-----BEGIN PRIVATE KEY-----
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
Y78+RqMxuQBGGFp1ahS075xikXeb0TE=
-----END PRIVATE KEY-----

View File

@ -1,185 +0,0 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 4 (0x4)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=DE, ST=Berlin, L=Berlin, O=BigchainDB GmbH, OU=ROOT-CA, CN=Test Infra Root CA/emailAddress=dev@bigchaindb.com
Validity
Not Before: Jun 14 12:45:09 2017 GMT
Not After : Jun 12 12:45:09 2027 GMT
Subject: C=DE, ST=Berlin, L=Berlin, O=BigchainDB GmbH, OU=MongoDB-Bak-Instance, CN=test-mdb-bak-ssl/emailAddress=dev@bigchaindb.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (4096 bit)
Modulus:
00:9e:49:0d:d6:44:06:db:ad:bd:24:0c:d4:d2:f6:
0e:e9:14:5a:52:b7:3d:72:97:ae:1c:b4:dd:6c:a6:
2b:46:94:a9:60:29:8a:15:75:3d:35:66:a1:7e:3c:
a7:09:38:4d:30:4a:5f:d1:01:22:a5:b0:f0:43:ed:
9e:e8:6d:b5:4b:da:3d:50:d7:67:c3:bc:a2:08:72:
2f:fe:18:54:2a:2e:a8:6b:f4:ca:fb:4a:50:f0:48:
c3:97:62:b7:f5:a0:a2:50:2b:c5:b3:ed:6f:b4:86:
09:a6:67:68:1f:28:69:d4:0e:73:c1:a2:6c:25:a5:
55:37:8c:7e:a4:9e:aa:83:8d:9c:b6:29:19:6f:e9:
86:58:9f:34:8b:92:39:9a:4d:ac:2f:1b:ee:43:a8:
25:dc:d6:82:63:65:e6:f9:71:ea:69:ac:4f:1b:9f:
96:ba:21:88:db:7b:87:4a:5c:84:4a:d6:39:3c:1f:
ea:e7:3a:9e:e0:31:32:e9:3d:48:da:0d:6d:47:74:
2c:58:e6:ad:65:10:b8:64:7b:80:cb:b0:a2:f4:a6:
16:27:b0:84:6e:09:c6:30:a3:b7:fa:34:7a:96:5d:
61:71:7d:7d:dc:c8:69:9d:4c:2f:b6:a1:20:31:99:
b1:96:9a:9e:be:f4:ec:da:2a:6c:3a:0a:e4:94:ef:
67:a5:f4:7c:ae:15:f2:67:8b:f4:f4:18:32:1e:7f:
87:79:e7:87:a0:74:99:57:f2:44:62:fe:93:93:21:
13:b5:98:dd:fb:98:67:e0:8f:e3:19:36:0b:9e:5b:
67:a0:37:77:62:78:9b:6c:be:79:13:bd:79:ae:34:
b7:92:f1:8f:17:9c:0b:6a:42:9a:ed:23:e4:71:0d:
e6:f3:6d:9c:58:54:88:2f:ed:85:a3:5c:a4:38:6d:
a3:b9:bc:ba:56:ad:f8:2c:fa:8c:e8:83:de:1b:af:
11:88:e9:81:08:c8:d4:03:68:d4:e7:11:c7:e6:1d:
93:7f:02:2c:3d:42:e3:bb:f1:68:70:21:95:87:db:
c5:c8:43:64:d5:d9:10:94:cb:e4:17:e3:5c:21:38:
fb:9c:96:69:da:24:e3:59:e8:d9:f3:41:45:04:8a:
04:c8:bd:04:85:7a:9c:72:9f:5d:34:38:1d:1c:26:
85:6c:c3:1c:6d:df:6b:44:a4:ac:f7:27:0d:8f:1a:
9b:d2:53:5c:15:bd:1e:f1:de:f1:45:d7:96:d0:50:
0a:43:3b:53:ea:1a:8d:67:ad:68:d0:57:dc:3c:f5:
63:fb:0e:ff:b2:cf:59:30:d5:12:bc:2c:62:00:cf:
c3:ae:ea:20:04:c1:67:e0:3f:92:99:e5:04:cc:7b:
a6:7f:b9
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
X509v3 Subject Key Identifier:
95:F3:A7:FB:99:C6:9D:91:36:06:51:31:39:EC:37:42:89:07:AB:31
X509v3 Authority Key Identifier:
keyid:69:C7:85:80:64:E6:90:40:E9:30:68:88:23:D2:4D:BB:EC:DF:98:98
DirName:/C=DE/ST=Berlin/L=Berlin/O=BigchainDB GmbH/OU=ROOT-CA/CN=Test Infra Root CA/emailAddress=dev@bigchaindb.com
serial:E8:06:B2:C9:2A:9C:2E:FC
X509v3 Extended Key Usage:
TLS Web Client Authentication
X509v3 Key Usage:
Digital Signature
Signature Algorithm: sha256WithRSAEncryption
5b:42:f5:e9:cc:2a:40:8a:53:29:d9:67:2b:5d:df:25:b8:08:
6f:6f:0f:d4:e1:b7:60:eb:d4:04:d4:3c:49:62:a5:78:59:48:
d6:4b:c3:24:04:86:51:99:01:6f:f5:ce:a1:b8:c0:d5:56:4a:
23:86:f9:22:e6:42:3b:39:8b:66:64:21:f6:72:6b:77:79:4b:
9f:3e:ec:0e:ba:cf:bd:72:73:02:66:bf:cf:e8:b2:75:ee:07:
28:ae:26:98:b8:40:ec:dc:d5:12:27:27:34:3e:4f:55:b6:36:
e0:3b:58:ec:2d:fa:59:e3:c1:ec:16:93:8d:72:f6:ad:f8:dd:
59:6e:c2:cb:51:82:f1:fc:b6:7e:67:61:f7:81:76:9d:a7:83:
52:06:cb:b7:fe:52:f4:2a:bc:62:66:16:4b:bd:03:13:7f:e0:
f1:7e:c4:67:e4:9a:d4:1f:bf:a2:a1:f9:2a:8b:bd:d1:06:35:
16:97:7b:93:fa:3e:e0:df:4f:60:60:74:ef:18:0c:69:10:61:
17:4a:8b:d7:4d:0b:83:6c:de:c3:ca:34:ad:02:35:34:e5:2c:
15:28:4c:ff:5b:e7:27:eb:87:c9:88:21:3e:ed:b3:4e:cc:80:
2f:fe:87:e4:c7:d8:7c:5d:61:79:db:49:bc:f6:60:28:97:0d:
17:0e:f4:7d:3a:ca:bc:d1:f2:62:70:a9:19:8b:f8:74:1e:c4:
10:f9:7a:62:d0:65:d3:00:f4:3d:08:11:5c:d5:d0:97:3e:52:
0c:51:1a:e6:71:bf:d9:25:c7:38:b7:d1:17:04:c3:a3:74:34:
51:7e:3d:78:3f:e7:c9:e7:e2:37:db:33:43:26:ca:7f:2c:d5:
cd:fc:55:2d:3f:1e:7b:95:af:44:ca:b6:9f:0e:02:d3:62:e6:
1f:96:a6:b2:0d:de:0b:31:b6:4f:de:a8:63:85:8c:c2:5d:89:
f9:ba:b2:e9:41:19:60:3b:06:18:c5:f6:9f:8c:f9:fa:36:18:
16:3b:c4:8a:60:5e:7c:06:8c:f3:3a:c0:25:bc:3f:fc:f1:5d:
a3:81:a4:6a:48:05:f3:0b:cb:f7:45:87:4b:32:5f:b2:d4:5c:
85:36:ec:3f:aa:23:81:fe:ce:75:7d:54:12:87:b0:95:a7:57:
81:c5:4b:f3:d9:9a:d2:fb:af:bb:a7:6a:b2:23:92:1d:28:8f:
a7:21:bd:3c:21:fb:39:fd:73:06:84:d2:9c:6b:06:c9:3f:22:
9d:dc:a8:74:9b:76:8d:e3:09:9d:ef:02:18:9b:1e:52:69:eb:
be:1b:bb:73:e2:36:06:4b:27:ad:0f:87:66:cc:36:81:5a:55:
e1:7b:7b:d0:4d:2f:55:95
-----BEGIN CERTIFICATE-----
MIIG4zCCBMugAwIBAgIBBDANBgkqhkiG9w0BAQsFADCBmzELMAkGA1UEBhMCREUx
DzANBgNVBAgMBkJlcmxpbjEPMA0GA1UEBwwGQmVybGluMRgwFgYDVQQKDA9CaWdj
aGFpbkRCIEdtYkgxEDAOBgNVBAsMB1JPT1QtQ0ExGzAZBgNVBAMMElRlc3QgSW5m
cmEgUm9vdCBDQTEhMB8GCSqGSIb3DQEJARYSZGV2QGJpZ2NoYWluZGIuY29tMB4X
DTE3MDYxNDEyNDUwOVoXDTI3MDYxMjEyNDUwOVowgaYxCzAJBgNVBAYTAkRFMQ8w
DQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEYMBYGA1UECgwPQmlnY2hh
aW5EQiBHbWJIMR0wGwYDVQQLDBRNb25nb0RCLUJhay1JbnN0YW5jZTEZMBcGA1UE
AwwQdGVzdC1tZGItYmFrLXNzbDEhMB8GCSqGSIb3DQEJARYSZGV2QGJpZ2NoYWlu
ZGIuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnkkN1kQG2629
JAzU0vYO6RRaUrc9cpeuHLTdbKYrRpSpYCmKFXU9NWahfjynCThNMEpf0QEipbDw
Q+2e6G21S9o9UNdnw7yiCHIv/hhUKi6oa/TK+0pQ8EjDl2K39aCiUCvFs+1vtIYJ
pmdoHyhp1A5zwaJsJaVVN4x+pJ6qg42ctikZb+mGWJ80i5I5mk2sLxvuQ6gl3NaC
Y2Xm+XHqaaxPG5+WuiGI23uHSlyEStY5PB/q5zqe4DEy6T1I2g1tR3QsWOatZRC4
ZHuAy7Ci9KYWJ7CEbgnGMKO3+jR6ll1hcX193MhpnUwvtqEgMZmxlpqevvTs2ips
OgrklO9npfR8rhXyZ4v09BgyHn+HeeeHoHSZV/JEYv6TkyETtZjd+5hn4I/jGTYL
nltnoDd3YnibbL55E715rjS3kvGPF5wLakKa7SPkcQ3m822cWFSIL+2Fo1ykOG2j
uby6Vq34LPqM6IPeG68RiOmBCMjUA2jU5xHH5h2TfwIsPULju/FocCGVh9vFyENk
1dkQlMvkF+NcITj7nJZp2iTjWejZ80FFBIoEyL0EhXqccp9dNDgdHCaFbMMcbd9r
RKSs9ycNjxqb0lNcFb0e8d7xRdeW0FAKQztT6hqNZ61o0FfcPPVj+w7/ss9ZMNUS
vCxiAM/DruogBMFn4D+SmeUEzHumf7kCAwEAAaOCASMwggEfMAkGA1UdEwQCMAAw
HQYDVR0OBBYEFJXzp/uZxp2RNgZRMTnsN0KJB6sxMIHQBgNVHSMEgcgwgcWAFGnH
hYBk5pBA6TBoiCPSTbvs35iYoYGhpIGeMIGbMQswCQYDVQQGEwJERTEPMA0GA1UE
CAwGQmVybGluMQ8wDQYDVQQHDAZCZXJsaW4xGDAWBgNVBAoMD0JpZ2NoYWluREIg
R21iSDEQMA4GA1UECwwHUk9PVC1DQTEbMBkGA1UEAwwSVGVzdCBJbmZyYSBSb290
IENBMSEwHwYJKoZIhvcNAQkBFhJkZXZAYmlnY2hhaW5kYi5jb22CCQDoBrLJKpwu
/DATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMCB4AwDQYJKoZIhvcNAQEL
BQADggIBAFtC9enMKkCKUynZZytd3yW4CG9vD9Tht2Dr1ATUPElipXhZSNZLwyQE
hlGZAW/1zqG4wNVWSiOG+SLmQjs5i2ZkIfZya3d5S58+7A66z71ycwJmv8/osnXu
ByiuJpi4QOzc1RInJzQ+T1W2NuA7WOwt+lnjwewWk41y9q343VluwstRgvH8tn5n
YfeBdp2ng1IGy7f+UvQqvGJmFku9AxN/4PF+xGfkmtQfv6Kh+SqLvdEGNRaXe5P6
PuDfT2BgdO8YDGkQYRdKi9dNC4Ns3sPKNK0CNTTlLBUoTP9b5yfrh8mIIT7ts07M
gC/+h+TH2HxdYXnbSbz2YCiXDRcO9H06yrzR8mJwqRmL+HQexBD5emLQZdMA9D0I
EVzV0Jc+UgxRGuZxv9klxzi30RcEw6N0NFF+PXg/58nn4jfbM0Mmyn8s1c38VS0/
HnuVr0TKtp8OAtNi5h+WprIN3gsxtk/eqGOFjMJdifm6sulBGWA7BhjF9p+M+fo2
GBY7xIpgXnwGjPM6wCW8P/zxXaOBpGpIBfMLy/dFh0syX7LUXIU27D+qI4H+znV9
VBKHsJWnV4HFS/PZmtL7r7unarIjkh0oj6chvTwh+zn9cwaE0pxrBsk/Ip3cqHSb
do3jCZ3vAhibHlJp674bu3PiNgZLJ60Ph2bMNoFaVeF7e9BNL1WV
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
MIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQCeSQ3WRAbbrb0k
DNTS9g7pFFpStz1yl64ctN1spitGlKlgKYoVdT01ZqF+PKcJOE0wSl/RASKlsPBD
7Z7obbVL2j1Q12fDvKIIci/+GFQqLqhr9Mr7SlDwSMOXYrf1oKJQK8Wz7W+0hgmm
Z2gfKGnUDnPBomwlpVU3jH6knqqDjZy2KRlv6YZYnzSLkjmaTawvG+5DqCXc1oJj
Zeb5cepprE8bn5a6IYjbe4dKXIRK1jk8H+rnOp7gMTLpPUjaDW1HdCxY5q1lELhk
e4DLsKL0phYnsIRuCcYwo7f6NHqWXWFxfX3cyGmdTC+2oSAxmbGWmp6+9OzaKmw6
CuSU72el9HyuFfJni/T0GDIef4d554egdJlX8kRi/pOTIRO1mN37mGfgj+MZNgue
W2egN3dieJtsvnkTvXmuNLeS8Y8XnAtqQprtI+RxDebzbZxYVIgv7YWjXKQ4baO5
vLpWrfgs+ozog94brxGI6YEIyNQDaNTnEcfmHZN/Aiw9QuO78WhwIZWH28XIQ2TV
2RCUy+QX41whOPuclmnaJONZ6NnzQUUEigTIvQSFepxyn100OB0cJoVswxxt32tE
pKz3Jw2PGpvSU1wVvR7x3vFF15bQUApDO1PqGo1nrWjQV9w89WP7Dv+yz1kw1RK8
LGIAz8Ou6iAEwWfgP5KZ5QTMe6Z/uQIDAQABAoICADsiR80YtQc1LUhektQNoRxq
wiPM2WQKTr3ixCZnHhvMRkrque+yUR+2K/chabYEFrJH1uwaZHtKUzjNeWSUN/sS
mX2uO9HgkxhcsJlZNXhc3gcW+Q5QgVSDmq7f7qIRVRJmiAHkXqsuuEQ2tauOSZsz
mwNoTsbxsZiDIH0X2dQz/6v+RsaMk+hf8h2Cj4qaIg2nfahBFYQfj67azyO57z1z
ZkqHoKQBC0QULkMVtUbQKanQss2YFOrk9oQ0pRbxlTXwrPC5nWX4jSrdCQ0P/JEx
y20ggRkrBaP+Rilvmay7TkA8Bd2J8gsV/21XXNOq+7GsKkpk7mfDGZPFpggOOMYs
xmp9rCZ+/0wpGQ130/ks3bQRHeVXQ0WuEXrmkdHhyyRycYocDfUhC4YB5NJOhI8H
Xl/ScebL3xwl56CNbfdyG6VeAqpJk6qxoklMw+zWJQeHtaHkXObWSSORf0KCAHV7
5/FWH7QP93g3X4r9Cq0zVI0e9ImC81azxj335bWpZi63YTvZriStak2ucfkBPXof
zTQHVi47E8fOG6HjEQYLM/FohXRxSKodBruKEKZlzqGLaSVlfj25v1l61mS4Owjj
2VWEuCraGixRIfawK6CtuS6ZRCLZyuVISul0Xhmm9EJ9rrqaJS3rCHp40S/prnFY
TACkRoLkBqftkva2uVxBAoIBAQDQK0hEZ3jVznmybNyvscdkYnJHFqJqjQgR3DKM
1RxcOpsLcEJZv5Xw9yze1QndCplnWsHsbOYI/Bz6Bnf60DRnbiZrftNEkabEgPkE
pEnZTCWm/ynTjhJy5y5ttnrqx2CHUpLoVnwqQKQqp3p/gjXQcp9NqX8/ieA4ae63
tPMpQERlA3ETHprZ26NkjIl35oO2Hl/vw80Inh26EHFlKZkzKRsCaqBLgIkDpbOe
vgziyBUCk3pmyKI62pPu4S3Xy7TaYtjUeZvwUI8u3hvE6v2Qjj9nS6qvTOGRg/hG
3DSBEqXUxMTYu+41zPyYZiSoUpFkReV9G/K3wO9b0Y+po+NFAoIBAQDCp4+uwo47
90S79J2wM4nEhtPvgg5Zvv+8a1Uedng+DKokmPdcqD9RSREcbuj2BOwS/phTePKh
0UFgy43B8DrTDNrYvZPTjPalxo8ks122+vzM+Y43le072wOQkHfVZP/Y1+lOOsVf
TjGrp82keg4w784w7OuJNg+i7+rwsOwBn6iavHbHi3c8IGXDsNe5+LEwTSXSyxiF
s/NFBYOxNDV1GVATTbyi5bEKLDtrD1GXRtCU4atGf9fwYSU08KMjrhRQLP+0sYwN
lGSpJnJc7M7CuikxT646+ENTZC1vZlp1bUwsX7sjk5kxq6fkf0LM0/7hLg0yPOFV
XTBeLPYJrRflAoIBABYbgqFBG+QY+XOpfAZsqvBORDSogrcuIx1CdVvfhhOFZdHh
Kiq93f6pQWqo1VNUPNZtHQsuxX9OxwUGitdoJSiW2h2wal9t2Hgl+kwz5mPdYmJJ
1vdQr0TkqFmed49XfTjh3Bgwlx8lnkmpX6kK+wwYIDLvPURSMC3NkjyQSwKmgJz5
sJiHN4rLeJ7FDhRdtr8wmp+r+6peoGmSNXi44jw8sVGgYUWjcOmiP2EsbdHnzdNo
NieURyZY8Dz+TRAN4jcPKFfoUldDNvGTRP+0tRkVAkbGEmprj8kUatmbqTfL8zCV
dRJPYwzzqB/HOT1nB2nOwoB251/8bW8i4k7xyMECggEANOd9sa3HIp0t3Te6s+0O
AI/0giAC7nlu4DL7y2+/dn3SsGeys0g3DUyijevG/TaRQwhXNjilGT3aWwh32sID
+uB/inDcAJ9LWfsBZKQrUFQe6UbaVFk3RRFdgqkBKMpujuz/x/dJNYH3FgRha9aQ
jNRgYgPCcGR1E3/JhulO+5H9LTETx2AsY/caMXma6DyjS9Fr+kKgw5YJBDVfeYYL
EWxzywtRvaRX3b/v1kUvk8H3Zr9+4YZVlkuQ5TaR4FyrwK66QM4QlpBCW4bLhl4G
Q/58u55AaF6ZTczoXGKhK1EtZtIN9rli5ZEV7JB6A1mK6ICvrXvGcoEFaFMn+7FD
0QKCAQB+zcumaZJ2f70TUc0cSpH5ObEdQzgLDgYk11ntogFWaXefY84R2UOAnVmT
TOAdl5CHY+iBwYVldGO9/+lSaeXzsFYeuvkoVPg8jnSoocc8H+QdgCjXwIPtalAJ
DmMo5OehmmbeZl/HYnESodqy+94DylxpoAwRwPh4m4H28lJObOkc+aP94Ij+i403
PW9HxSK4u1OTSAXUHrsHxYTHOoO0KIx7tDQtgToWJiXIF4OcvHpVrYhZlmX8jdZB
rzfGm7L2NbXOxMyRwzkiP2u3Jy2KMDjkzzrcj/baBASw/gvTBNg0Av+hxDLHAVKc
+gk211q750iboMg2OYLjyYqcwbXn
-----END PRIVATE KEY-----

View File

@ -1,185 +0,0 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 3 (0x3)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=DE, ST=Berlin, L=Berlin, O=BigchainDB GmbH, OU=ROOT-CA, CN=Test Infra Root CA/emailAddress=dev@bigchaindb.com
Validity
Not Before: Jun 14 12:44:48 2017 GMT
Not After : Jun 12 12:44:48 2027 GMT
Subject: C=DE, ST=Berlin, L=Berlin, O=BigchainDB GmbH, OU=MongoDB-Mon-Instance, CN=test-mdb-mon-ssl/emailAddress=dev@bigchaindb.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (4096 bit)
Modulus:
00:ba:24:72:5f:73:ff:ea:19:08:30:c8:91:47:01:
2c:ec:0e:b2:81:fa:84:01:72:38:d7:17:81:b3:87:
b0:ed:91:b2:d7:b1:7c:30:c6:d3:93:5f:39:04:e6:
fc:dd:b4:f6:c3:2a:d6:ce:ce:f1:6f:bf:32:05:92:
eb:90:66:0e:95:c5:ce:5c:3a:37:ac:cc:40:c5:ef:
3e:53:b0:49:ed:ab:3c:9f:08:88:63:fa:a7:db:d4:
6b:e9:55:0f:f3:f9:62:45:b9:a4:a2:3d:6a:60:b5:
ee:9c:e9:7c:cb:ef:06:0d:c5:92:21:4a:79:b4:f4:
58:20:a6:8e:82:87:05:2c:c5:94:ab:6a:56:09:9e:
64:bb:ab:29:86:04:a3:39:fd:4d:25:da:f7:6c:c9:
c2:c4:42:66:f4:f4:4e:91:dc:09:10:3d:6b:16:0b:
a4:be:c4:52:6e:4b:fa:8a:50:74:be:54:a8:46:e2:
0d:53:db:9b:8d:6d:58:71:71:8e:f9:4f:ca:07:48:
c2:eb:fa:d1:42:0a:33:18:9e:14:0e:a8:6d:78:f6:
8a:76:72:db:94:1e:56:cd:02:5d:7e:6d:6f:75:35:
cc:ca:c0:be:57:2c:6e:96:7f:79:51:84:ae:95:a5:
3d:da:bd:01:8f:6a:de:8b:d0:dc:f8:61:27:f2:a6:
cf:0d:40:89:d0:2e:db:da:e5:ad:c5:9d:95:5f:22:
a4:52:70:33:4f:df:13:8f:96:a0:9b:21:aa:15:20:
39:c6:16:65:98:b8:97:2a:cc:47:e0:79:41:b4:a2:
96:32:68:65:f6:8c:1b:ce:c8:38:9c:75:2c:1a:87:
d9:87:9b:f8:b7:ff:2c:15:e2:0a:12:7b:a0:ef:3a:
39:7e:32:3d:f9:42:d7:5f:08:38:93:4e:f1:41:a0:
c2:55:30:55:40:aa:bd:68:8e:69:c3:33:6f:50:0d:
ef:44:80:da:e5:01:61:d3:71:41:de:03:ab:42:85:
a0:80:1d:2a:b7:88:15:7b:ee:43:64:20:57:f7:25:
b2:6c:47:a6:5b:15:58:13:67:47:a3:07:17:20:51:
d2:8d:7b:71:91:39:5a:1b:a2:a0:0f:15:73:84:74:
1f:49:b8:64:4b:3d:86:99:85:a5:e3:05:63:37:c3:
bf:e7:c2:4c:fc:ff:bc:9a:8f:43:43:52:a7:cb:b8:
91:e7:0a:10:02:ac:74:3a:8b:06:34:50:d2:a3:12:
81:d2:7b:46:bb:ad:2f:9e:ed:9e:0d:8d:27:64:99:
e5:e2:a2:56:cb:ad:3f:48:24:9e:11:32:bf:70:44:
e2:a5:bf:39:86:5b:ed:5d:75:c2:53:40:62:da:2d:
f8:f2:1d
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
X509v3 Subject Key Identifier:
31:63:2C:98:2F:9F:6C:44:82:A9:B8:D3:06:15:95:84:D9:52:98:71
X509v3 Authority Key Identifier:
keyid:69:C7:85:80:64:E6:90:40:E9:30:68:88:23:D2:4D:BB:EC:DF:98:98
DirName:/C=DE/ST=Berlin/L=Berlin/O=BigchainDB GmbH/OU=ROOT-CA/CN=Test Infra Root CA/emailAddress=dev@bigchaindb.com
serial:E8:06:B2:C9:2A:9C:2E:FC
X509v3 Extended Key Usage:
TLS Web Client Authentication
X509v3 Key Usage:
Digital Signature
Signature Algorithm: sha256WithRSAEncryption
1e:16:02:5b:35:f6:36:0a:54:bc:48:11:51:39:a1:b1:e5:39:
bd:26:73:bc:37:22:95:87:3f:ed:e6:e1:00:fa:e2:a7:2d:ef:
9d:25:ee:b0:7c:c2:e5:8e:9d:ff:24:51:ee:a2:cb:2c:b9:0a:
38:07:94:8c:12:21:e1:1f:83:5f:4d:92:a8:b1:ff:53:90:97:
30:2d:06:d6:84:79:27:6c:34:dc:19:6e:af:dd:80:a7:66:3b:
0d:c5:c2:0d:7a:ce:b6:12:c2:9e:6f:02:0d:d0:41:c1:7d:75:
aa:07:46:50:e0:06:22:a8:d7:d2:45:dc:d3:c1:20:01:61:c6:
07:13:74:b3:9e:de:88:1a:75:1d:8d:0a:3f:fd:0a:56:07:92:
d6:ce:37:f5:e6:ad:d0:64:33:77:36:dd:76:06:e1:20:00:64:
88:d0:ca:71:f2:65:7c:26:ce:2c:55:07:50:36:d9:2b:b2:80:
fa:d1:4b:fc:31:89:d9:3e:c6:50:a8:ce:cf:df:d2:54:53:e7:
80:ab:e6:4e:66:e8:91:70:55:95:80:94:74:60:f5:e8:ff:69:
65:c0:41:17:af:1e:8a:50:a7:4e:f3:c1:76:42:7a:62:22:0a:
51:33:06:57:bc:6f:7f:f6:5a:9d:4f:cd:2b:21:65:63:d8:ab:
5b:38:8f:8c:f6:37:50:ca:32:5c:9a:3a:1b:a1:db:9f:fa:10:
4e:35:54:9c:24:42:8a:33:58:a5:3e:b4:a4:67:4a:d2:b1:8d:
99:d5:4d:1f:f7:d9:c6:ee:60:54:7f:bc:57:2f:0a:b9:ce:04:
96:0f:0d:9c:22:39:a2:4e:e3:c7:3d:df:9c:09:af:45:62:57:
1e:25:67:b1:4e:e9:15:88:c5:b3:2d:88:c8:60:8e:5e:b5:28:
49:77:63:6f:0f:9d:d2:06:94:b4:b3:d9:92:2a:32:7f:45:c8:
32:69:12:7d:8d:47:52:5b:3e:7f:f0:bc:80:11:56:08:97:7a:
eb:fb:0d:69:5d:88:b9:bb:27:7f:de:2e:a9:63:c5:89:56:88:
ce:2f:47:f0:1f:bc:3a:60:f4:19:8a:39:82:11:51:99:7a:8d:
1f:11:53:2f:f4:43:48:08:c9:1e:a5:3b:ed:f0:8e:cc:d6:1e:
20:e9:2a:4d:c3:cc:3a:6c:63:29:a7:1b:c3:63:13:19:d5:82:
61:b9:83:39:e8:60:d9:06:e4:cc:55:5e:93:70:80:97:58:f4:
24:1f:2b:6f:e6:ff:67:f1:76:2a:b3:db:6b:1a:22:42:a0:85:
44:de:1a:9a:9e:b5:d2:ca:95:11:2d:ba:57:4e:2e:79:67:10:
c8:ee:aa:67:61:ca:8f:25
-----BEGIN CERTIFICATE-----
MIIG4zCCBMugAwIBAgIBAzANBgkqhkiG9w0BAQsFADCBmzELMAkGA1UEBhMCREUx
DzANBgNVBAgMBkJlcmxpbjEPMA0GA1UEBwwGQmVybGluMRgwFgYDVQQKDA9CaWdj
aGFpbkRCIEdtYkgxEDAOBgNVBAsMB1JPT1QtQ0ExGzAZBgNVBAMMElRlc3QgSW5m
cmEgUm9vdCBDQTEhMB8GCSqGSIb3DQEJARYSZGV2QGJpZ2NoYWluZGIuY29tMB4X
DTE3MDYxNDEyNDQ0OFoXDTI3MDYxMjEyNDQ0OFowgaYxCzAJBgNVBAYTAkRFMQ8w
DQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEYMBYGA1UECgwPQmlnY2hh
aW5EQiBHbWJIMR0wGwYDVQQLDBRNb25nb0RCLU1vbi1JbnN0YW5jZTEZMBcGA1UE
AwwQdGVzdC1tZGItbW9uLXNzbDEhMB8GCSqGSIb3DQEJARYSZGV2QGJpZ2NoYWlu
ZGIuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuiRyX3P/6hkI
MMiRRwEs7A6ygfqEAXI41xeBs4ew7ZGy17F8MMbTk185BOb83bT2wyrWzs7xb78y
BZLrkGYOlcXOXDo3rMxAxe8+U7BJ7as8nwiIY/qn29Rr6VUP8/liRbmkoj1qYLXu
nOl8y+8GDcWSIUp5tPRYIKaOgocFLMWUq2pWCZ5ku6sphgSjOf1NJdr3bMnCxEJm
9PROkdwJED1rFgukvsRSbkv6ilB0vlSoRuINU9ubjW1YcXGO+U/KB0jC6/rRQgoz
GJ4UDqhtePaKdnLblB5WzQJdfm1vdTXMysC+Vyxuln95UYSulaU92r0Bj2rei9Dc
+GEn8qbPDUCJ0C7b2uWtxZ2VXyKkUnAzT98Tj5agmyGqFSA5xhZlmLiXKsxH4HlB
tKKWMmhl9owbzsg4nHUsGofZh5v4t/8sFeIKEnug7zo5fjI9+ULXXwg4k07xQaDC
VTBVQKq9aI5pwzNvUA3vRIDa5QFh03FB3gOrQoWggB0qt4gVe+5DZCBX9yWybEem
WxVYE2dHowcXIFHSjXtxkTlaG6KgDxVzhHQfSbhkSz2GmYWl4wVjN8O/58JM/P+8
mo9DQ1Kny7iR5woQAqx0OosGNFDSoxKB0ntGu60vnu2eDY0nZJnl4qJWy60/SCSe
ETK/cETipb85hlvtXXXCU0Bi2i348h0CAwEAAaOCASMwggEfMAkGA1UdEwQCMAAw
HQYDVR0OBBYEFDFjLJgvn2xEgqm40wYVlYTZUphxMIHQBgNVHSMEgcgwgcWAFGnH
hYBk5pBA6TBoiCPSTbvs35iYoYGhpIGeMIGbMQswCQYDVQQGEwJERTEPMA0GA1UE
CAwGQmVybGluMQ8wDQYDVQQHDAZCZXJsaW4xGDAWBgNVBAoMD0JpZ2NoYWluREIg
R21iSDEQMA4GA1UECwwHUk9PVC1DQTEbMBkGA1UEAwwSVGVzdCBJbmZyYSBSb290
IENBMSEwHwYJKoZIhvcNAQkBFhJkZXZAYmlnY2hhaW5kYi5jb22CCQDoBrLJKpwu
/DATBgNVHSUEDDAKBggrBgEFBQcDAjALBgNVHQ8EBAMCB4AwDQYJKoZIhvcNAQEL
BQADggIBAB4WAls19jYKVLxIEVE5obHlOb0mc7w3IpWHP+3m4QD64qct750l7rB8
wuWOnf8kUe6iyyy5CjgHlIwSIeEfg19Nkqix/1OQlzAtBtaEeSdsNNwZbq/dgKdm
Ow3Fwg16zrYSwp5vAg3QQcF9daoHRlDgBiKo19JF3NPBIAFhxgcTdLOe3ogadR2N
Cj/9ClYHktbON/XmrdBkM3c23XYG4SAAZIjQynHyZXwmzixVB1A22SuygPrRS/wx
idk+xlCozs/f0lRT54Cr5k5m6JFwVZWAlHRg9ej/aWXAQRevHopQp07zwXZCemIi
ClEzBle8b3/2Wp1PzSshZWPYq1s4j4z2N1DKMlyaOhuh25/6EE41VJwkQoozWKU+
tKRnStKxjZnVTR/32cbuYFR/vFcvCrnOBJYPDZwiOaJO48c935wJr0ViVx4lZ7FO
6RWIxbMtiMhgjl61KEl3Y28PndIGlLSz2ZIqMn9FyDJpEn2NR1JbPn/wvIARVgiX
euv7DWldiLm7J3/eLqljxYlWiM4vR/AfvDpg9BmKOYIRUZl6jR8RUy/0Q0gIyR6l
O+3wjszWHiDpKk3DzDpsYymnG8NjExnVgmG5gznoYNkG5MxVXpNwgJdY9CQfK2/m
/2fxdiqz22saIkKghUTeGpqetdLKlREtuldOLnlnEMjuqmdhyo8l
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
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
zlmQnC98+HETU0YHNxAAMsRPvxXi
-----END PRIVATE KEY-----

View File

@ -1,188 +0,0 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1 (0x1)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=DE, ST=Berlin, L=Berlin, O=BigchainDB GmbH, OU=ROOT-CA, CN=Test Infra Root CA/emailAddress=dev@bigchaindb.com
Validity
Not Before: Jun 13 14:40:55 2017 GMT
Not After : Jun 11 14:40:55 2027 GMT
Subject: C=DE, ST=Berlin, L=Berlin, O=BigchainDB GmbH, OU=MongoDB-Instance, CN=test-mdb-ssl/emailAddress=dev@bigchaindb.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (4096 bit)
Modulus:
00:bb:37:f1:24:2f:83:95:2c:bf:47:a4:a0:2c:9f:
e1:bf:fb:70:f6:9b:04:a0:e8:3b:81:6f:ca:a6:22:
6d:63:75:48:bc:fa:57:29:16:f7:2f:09:52:6c:c5:
52:20:74:9b:27:99:5b:51:85:ea:ef:c9:5f:78:c9:
29:b8:cc:a4:a8:46:c2:a3:64:41:84:92:36:c7:a8:
82:e2:b6:5e:67:08:d6:bb:3d:36:06:31:10:53:7a:
58:66:66:89:4d:46:d3:f6:3e:38:d4:84:d9:6c:c4:
95:68:9e:66:b7:47:c6:63:dc:35:1c:46:3d:8e:c6:
96:13:aa:65:53:3d:75:84:76:af:85:d2:6f:97:78:
0f:d2:8a:c0:cb:3f:86:30:09:0f:bf:ae:30:cb:26:
05:61:0c:ad:07:5e:33:cc:82:bb:46:49:86:a5:6e:
07:1b:78:b2:71:7b:01:ee:00:97:ac:81:49:89:df:
73:ab:d7:78:8e:a3:c5:76:5c:e9:fd:48:5f:a6:45:
b8:97:13:6a:55:05:5e:e2:00:46:27:67:93:06:fb:
91:83:69:c7:5e:12:49:ce:39:b9:ca:69:9f:0d:ff:
6a:79:b6:6b:6f:81:6c:51:e2:d0:01:9b:f8:7b:25:
3e:09:4d:00:aa:89:7f:00:e3:fb:5c:35:19:8d:c2:
11:21:87:1e:7a:11:bd:88:b2:de:ea:bf:a0:8b:fb:
0c:c3:6d:e2:ce:1f:6c:5b:5f:4a:05:da:ff:f1:fd:
4a:f5:de:5b:d8:93:ca:17:6b:dc:80:3e:91:6e:97:
43:db:59:f5:80:c1:0a:54:32:cd:c3:be:87:e9:93:
14:ae:c7:29:01:90:e8:11:32:59:1a:73:bf:42:0d:
c6:82:2c:89:2e:54:67:c8:2a:c3:3b:ce:e6:c1:09:
48:ad:d3:a3:e1:80:f8:df:6e:4c:78:72:76:db:4e:
d9:b9:fa:5b:7c:85:73:64:c9:23:94:ae:5e:63:68:
7f:1e:63:d3:78:85:47:0b:ec:52:1e:02:cf:7b:9d:
96:9c:63:4f:46:f7:79:1e:90:d3:21:18:85:26:17:
f1:51:18:d6:87:1c:9b:50:0e:70:6b:f1:08:41:b6:
3c:fc:fb:d7:1f:f1:bd:2d:3e:77:b6:66:92:0a:81:
01:0f:4a:68:68:69:5c:0f:38:b3:46:68:1b:55:99:
67:29:d1:03:f2:a5:5b:f1:8e:53:ed:c7:cc:79:38:
9c:8d:a6:78:f4:3e:23:28:ee:a0:d3:55:0f:c3:f0:
64:c1:fb:e5:85:71:b2:1e:44:d3:1d:78:87:77:76:
e2:6f:5f:54:64:14:b4:2f:14:0b:a5:3d:98:fb:68:
99:1f:23
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
X509v3 Subject Key Identifier:
0B:53:E2:76:40:AD:73:C4:12:6C:85:CF:36:5B:5F:FB:6E:E8:03:A7
X509v3 Authority Key Identifier:
keyid:69:C7:85:80:64:E6:90:40:E9:30:68:88:23:D2:4D:BB:EC:DF:98:98
DirName:/C=DE/ST=Berlin/L=Berlin/O=BigchainDB GmbH/OU=ROOT-CA/CN=Test Infra Root CA/emailAddress=dev@bigchaindb.com
serial:E8:06:B2:C9:2A:9C:2E:FC
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
X509v3 Key Usage:
Digital Signature, Key Encipherment
X509v3 Subject Alternative Name:
DNS:localhost, DNS:test-mdb-ssl
Signature Algorithm: sha256WithRSAEncryption
4c:14:3e:6b:af:f8:e8:69:11:2e:13:12:b7:9b:91:c7:68:01:
26:00:b8:c8:35:8b:fe:d2:bb:ab:43:d1:7a:8e:24:b2:08:dd:
1a:77:91:f0:68:35:42:56:ba:fe:26:3e:91:e2:8c:c1:01:e2:
65:f7:3b:12:ba:7f:1e:8a:8e:5b:a1:c8:28:8c:16:b8:72:03:
31:d6:6c:2c:ac:80:6e:7d:52:24:2e:4d:0b:e6:90:d1:7d:18:
3f:ea:9f:7f:85:39:86:77:3b:19:3d:ba:b0:57:10:16:25:fc:
d6:be:17:7b:c4:92:0e:c7:18:3c:69:48:e0:72:2c:3e:42:2f:
0b:70:02:a8:c1:04:2b:d8:00:72:b4:67:35:d9:79:3f:98:71:
55:92:e6:fa:51:2c:42:2f:71:c6:4f:98:7f:d8:2c:7c:12:70:
97:ad:cd:92:0a:66:80:2a:ec:ac:e6:9b:3a:0b:27:ca:e0:cc:
9f:b4:07:f4:fa:f7:60:17:39:f1:46:46:eb:e5:78:2a:84:b2:
78:87:ce:73:ad:20:8b:50:8c:d5:c5:cd:4c:b1:96:be:64:24:
e0:a9:81:c3:01:51:a2:b1:50:22:15:97:5a:e6:49:f3:1d:f1:
72:3e:8f:0d:87:e9:05:c1:92:8e:4b:db:1b:e2:b8:3c:b4:13:
dd:3d:ce:4d:f8:1e:8e:73:ae:5a:36:ba:be:dd:11:7c:b8:b1:
ef:d2:94:84:a7:c4:0d:96:0f:e1:46:46:bb:7d:51:a9:61:13:
98:47:b2:68:ad:85:0c:f9:32:0a:76:49:20:6f:34:72:ca:06:
fd:05:6f:16:5d:10:67:3c:50:06:f3:c2:bd:58:c8:f4:b3:96:
dc:28:26:62:e7:30:a0:0c:40:f6:7c:50:42:21:c8:e1:73:64:
1b:9c:76:3e:78:1d:ea:54:fc:61:6c:3e:27:59:cb:c4:dd:9f:
94:bf:b5:13:87:79:ff:28:1a:9b:7f:2f:1f:9b:22:1d:30:f6:
c9:5f:53:6f:1a:88:38:b0:44:71:79:da:a6:0f:2b:e7:42:71:
9c:3a:20:7f:6b:bb:93:71:b4:6c:9e:2a:b7:fa:57:cf:81:bd:
21:eb:0a:db:83:07:ac:fd:79:cb:ef:c7:fd:cd:ef:22:7f:67:
71:7c:e2:5c:40:8e:f1:06:c3:75:67:6a:70:f4:80:b3:ad:c6:
89:31:9b:cf:8c:ae:6e:85:fd:51:c6:40:34:a2:0c:63:55:84:
e1:a9:10:00:48:1a:64:95:80:45:09:d2:1d:3f:e2:6c:e1:e8:
92:28:5f:da:a1:69:10:74:03:1f:f1:43:c4:43:fb:01:80:7e:
fb:0b:2c:62:ad:e5:f2:61
-----BEGIN CERTIFICATE-----
MIIHCTCCBPGgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBmzELMAkGA1UEBhMCREUx
DzANBgNVBAgMBkJlcmxpbjEPMA0GA1UEBwwGQmVybGluMRgwFgYDVQQKDA9CaWdj
aGFpbkRCIEdtYkgxEDAOBgNVBAsMB1JPT1QtQ0ExGzAZBgNVBAMMElRlc3QgSW5m
cmEgUm9vdCBDQTEhMB8GCSqGSIb3DQEJARYSZGV2QGJpZ2NoYWluZGIuY29tMB4X
DTE3MDYxMzE0NDA1NVoXDTI3MDYxMTE0NDA1NVowgZ4xCzAJBgNVBAYTAkRFMQ8w
DQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjEYMBYGA1UECgwPQmlnY2hh
aW5EQiBHbWJIMRkwFwYDVQQLDBBNb25nb0RCLUluc3RhbmNlMRUwEwYDVQQDDAx0
ZXN0LW1kYi1zc2wxITAfBgkqhkiG9w0BCQEWEmRldkBiaWdjaGFpbmRiLmNvbTCC
AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALs38SQvg5Usv0ekoCyf4b/7
cPabBKDoO4FvyqYibWN1SLz6VykW9y8JUmzFUiB0myeZW1GF6u/JX3jJKbjMpKhG
wqNkQYSSNseoguK2XmcI1rs9NgYxEFN6WGZmiU1G0/Y+ONSE2WzElWieZrdHxmPc
NRxGPY7GlhOqZVM9dYR2r4XSb5d4D9KKwMs/hjAJD7+uMMsmBWEMrQdeM8yCu0ZJ
hqVuBxt4snF7Ae4Al6yBSYnfc6vXeI6jxXZc6f1IX6ZFuJcTalUFXuIARidnkwb7
kYNpx14SSc45ucppnw3/anm2a2+BbFHi0AGb+HslPglNAKqJfwDj+1w1GY3CESGH
HnoRvYiy3uq/oIv7DMNt4s4fbFtfSgXa//H9SvXeW9iTyhdr3IA+kW6XQ9tZ9YDB
ClQyzcO+h+mTFK7HKQGQ6BEyWRpzv0INxoIsiS5UZ8gqwzvO5sEJSK3To+GA+N9u
THhydttO2bn6W3yFc2TJI5SuXmNofx5j03iFRwvsUh4Cz3udlpxjT0b3eR6Q0yEY
hSYX8VEY1occm1AOcGvxCEG2PPz71x/xvS0+d7ZmkgqBAQ9KaGhpXA84s0ZoG1WZ
ZynRA/KlW/GOU+3HzHk4nI2mePQ+IyjuoNNVD8PwZMH75YVxsh5E0x14h3d24m9f
VGQUtC8UC6U9mPtomR8jAgMBAAGjggFRMIIBTTAJBgNVHRMEAjAAMB0GA1UdDgQW
BBQLU+J2QK1zxBJshc82W1/7bugDpzCB0AYDVR0jBIHIMIHFgBRpx4WAZOaQQOkw
aIgj0k277N+YmKGBoaSBnjCBmzELMAkGA1UEBhMCREUxDzANBgNVBAgMBkJlcmxp
bjEPMA0GA1UEBwwGQmVybGluMRgwFgYDVQQKDA9CaWdjaGFpbkRCIEdtYkgxEDAO
BgNVBAsMB1JPT1QtQ0ExGzAZBgNVBAMMElRlc3QgSW5mcmEgUm9vdCBDQTEhMB8G
CSqGSIb3DQEJARYSZGV2QGJpZ2NoYWluZGIuY29tggkA6AayySqcLvwwHQYDVR0l
BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAsGA1UdDwQEAwIFoDAiBgNVHREEGzAZ
gglsb2NhbGhvc3SCDHRlc3QtbWRiLXNzbDANBgkqhkiG9w0BAQsFAAOCAgEATBQ+
a6/46GkRLhMSt5uRx2gBJgC4yDWL/tK7q0PReo4ksgjdGneR8Gg1Qla6/iY+keKM
wQHiZfc7Erp/HoqOW6HIKIwWuHIDMdZsLKyAbn1SJC5NC+aQ0X0YP+qff4U5hnc7
GT26sFcQFiX81r4Xe8SSDscYPGlI4HIsPkIvC3ACqMEEK9gAcrRnNdl5P5hxVZLm
+lEsQi9xxk+Yf9gsfBJwl63NkgpmgCrsrOabOgsnyuDMn7QH9Pr3YBc58UZG6+V4
KoSyeIfOc60gi1CM1cXNTLGWvmQk4KmBwwFRorFQIhWXWuZJ8x3xcj6PDYfpBcGS
jkvbG+K4PLQT3T3OTfgejnOuWja6vt0RfLix79KUhKfEDZYP4UZGu31RqWETmEey
aK2FDPkyCnZJIG80csoG/QVvFl0QZzxQBvPCvVjI9LOW3CgmYucwoAxA9nxQQiHI
4XNkG5x2Pngd6lT8YWw+J1nLxN2flL+1E4d5/ygam38vH5siHTD2yV9TbxqIOLBE
cXnapg8r50JxnDogf2u7k3G0bJ4qt/pXz4G9IesK24MHrP15y+/H/c3vIn9ncXzi
XECO8QbDdWdqcPSAs63GiTGbz4yuboX9UcZANKIMY1WE4akQAEgaZJWARQnSHT/i
bOHokihf2qFpEHQDH/FDxEP7AYB++wssYq3l8mE=
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
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
nMEENsuszPYolIDIv8pISWC8yCsWn5w=
-----END PRIVATE KEY-----

View File

@ -2,7 +2,6 @@ from unittest import mock
import pytest
import pymongo
from pymongo import MongoClient
from pymongo.database import Database
from ssl import CERT_REQUIRED
@ -11,16 +10,16 @@ pytestmark = pytest.mark.bdb_ssl
@pytest.fixture
def mock_ssl_cmd_line_opts(certs_dir):
def mock_ssl_cmd_line_opts(ssl_context, mdb_ssl_pem_key):
return {'argv': [
'mongod',
'--dbpath=/data',
'--replSet=bigchain-rs',
'--sslMode=requireSSL',
'--sslAllowInvalidHostnames',
'--sslCAFile=' + certs_dir + '/ca.crt',
'--sslCRLFile=' + certs_dir + '/crl.pem',
'--sslPEMKeyFile=' + certs_dir + '/test_mdb_ssl_cert_and_key.pem',
'--sslCAFile=' + ssl_context.ca,
'--sslCRLFile=' + ssl_context.crl,
'--sslPEMKeyFile=' + mdb_ssl_pem_key,
'--sslPEMKeyPassword=""'
],
'ok': 1.0,
@ -29,41 +28,7 @@ def mock_ssl_cmd_line_opts(certs_dir):
}
@pytest.fixture
def mock_ssl_config_opts(certs_dir):
return {'argv': [
'mongod',
'--dbpath=/data',
'--replSet=bigchain-rs',
'--sslMode=requireSSL',
'--sslAllowInvalidHostnames',
'--sslCAFile=' + certs_dir + '/ca.crt',
'--sslCRLFile=' + certs_dir + '/crl.pem',
'--sslPEMKeyFile=' + certs_dir + '/test_mdb_ssl_cert_and_key.pem',
'--sslPEMKeyPassword=""'
],
'ok': 1.0,
'parsed': {'replication': {'replSetName': 'bigchain-rs'},
'storage': {'dbPath': '/data'}}
}
@pytest.fixture
def mongodb_ssl_connection(certs_dir):
import bigchaindb
return MongoClient(host=bigchaindb.config['database']['host'],
port=bigchaindb.config['database']['port'],
serverselectiontimeoutms=bigchaindb.config['database']['connection_timeout'],
ssl=bigchaindb.config['database']['ssl'],
ssl_ca_certs=bigchaindb.config['database']['ca_cert'],
ssl_certfile=bigchaindb.config['database']['certfile'],
ssl_keyfile=bigchaindb.config['database']['keyfile'],
ssl_pem_passphrase=bigchaindb.config['database']['keyfile_passphrase'],
ssl_crlfile=bigchaindb.config['database']['crlfile'],
ssl_cert_reqs=CERT_REQUIRED)
def test_ssl_get_connection_returns_the_correct_instance(db_host, db_port, certs_dir):
def test_ssl_get_connection_returns_the_correct_instance(db_host, db_port, ssl_context):
from bigchaindb.backend import connect
from bigchaindb.backend.connection import Connection
from bigchaindb.backend.mongodb.connection import MongoDBConnection
@ -75,17 +40,17 @@ def test_ssl_get_connection_returns_the_correct_instance(db_host, db_port, certs
'name': 'test',
'replicaset': 'bigchain-rs',
'ssl': True,
'ca_cert': certs_dir + '/ca.crt',
'crlfile': certs_dir + '/crl.pem',
'certfile': certs_dir + '/test_bdb_ssl.crt',
'keyfile': certs_dir + '/test_bdb_ssl.key',
'keyfile_passphrase': ''
'ca_cert': ssl_context.ca,
'crlfile': ssl_context.crl,
'certfile': ssl_context.cert,
'keyfile': ssl_context.key,
'keyfile_passphrase': '',
}
conn = connect(**config)
assert isinstance(conn, Connection)
assert isinstance(conn, MongoDBConnection)
assert conn.conn._topology_settings.replica_set_name == config['replicaset']
#conn = connect(**config)
#assert isinstance(conn, Connection)
#assert isinstance(conn, MongoDBConnection)
#assert conn.conn._topology_settings.replica_set_name == config['replicaset']
@mock.patch('pymongo.database.Database.authenticate')
@ -108,7 +73,7 @@ def test_ssl_connection_with_credentials(mock_authenticate):
assert mock_authenticate.call_count == 2
def test_ssl_initialize_replica_set(mock_ssl_cmd_line_opts, certs_dir):
def test_ssl_initialize_replica_set(mock_ssl_cmd_line_opts, ssl_context):
from bigchaindb.backend.mongodb.connection import initialize_replica_set
from bigchaindb.common.exceptions import ConfigurationError
@ -127,11 +92,11 @@ def test_ssl_initialize_replica_set(mock_ssl_cmd_line_opts, certs_dir):
True,
None,
None,
certs_dir + '/ca.crt',
certs_dir + '/test_bdb_ssl.crt',
certs_dir + '/test_bdb_ssl.key',
ssl_context.ca,
ssl_context.cert,
ssl_context.key,
'',
certs_dir + '/crl.pem') is None
ssl_context.crl) is None
# test it raises OperationError if anything wrong
with mock.patch.object(Database, 'command') as mock_command:
@ -148,11 +113,11 @@ def test_ssl_initialize_replica_set(mock_ssl_cmd_line_opts, certs_dir):
True,
None,
None,
certs_dir + '/ca.crt',
certs_dir + '/test_bdb_ssl.crt',
certs_dir + '/test_bdb_ssl.key',
ssl_context.ca,
ssl_context.cert,
ssl_context.key,
'',
certs_dir + '/crl.pem') is None
ssl_context.crl) is None
# pass an explicit ssl=False so that pymongo throws a
# ConfigurationError
@ -164,14 +129,14 @@ def test_ssl_initialize_replica_set(mock_ssl_cmd_line_opts, certs_dir):
False,
None,
None,
certs_dir + '/ca.crt',
certs_dir + '/test_bdb_ssl.crt',
certs_dir + '/test_bdb_ssl.key',
ssl_context.ca,
ssl_context.cert,
ssl_context.key,
'',
certs_dir + '/crl.pem') is None
ssl_context.crl) is None
def test_ssl_invalid_configuration(db_host, db_port, certs_dir):
def test_ssl_invalid_configuration(db_host, db_port, ssl_context):
from bigchaindb.backend import connect
from bigchaindb.common.exceptions import ConfigurationError
@ -182,10 +147,10 @@ def test_ssl_invalid_configuration(db_host, db_port, certs_dir):
'name': 'test',
'replicaset': 'bigchain-rs',
'ssl': False,
'ca_cert': certs_dir + '/ca.crt',
'crlfile': certs_dir + '/crl.pem',
'certfile': certs_dir + '/test_bdb_ssl.crt',
'keyfile': certs_dir + '/test_bdb_ssl.key',
'ca_cert': ssl_context.ca,
'crlfile': ssl_context.crl,
'certfile': ssl_context.cert,
'keyfile': ssl_context.key,
'keyfile_passphrase': ''
}

View File

@ -9,6 +9,7 @@ Tasks:
import os
import copy
import random
from collections import namedtuple
import pytest
@ -45,6 +46,12 @@ def pytest_addoption(parser):
default=os.environ.get('BIGCHAINDB_DATABASE_BACKEND', 'rethinkdb'),
help='Defines the backend to use (available: {})'.format(backends),
)
parser.addoption(
'--consensus-plugin',
action='store',
default='default',
help='Defines the consensus plugin to use',
)
def pytest_ignore_collect(path, config):
@ -123,7 +130,7 @@ def _restore_dbs(request):
@pytest.fixture(scope='session')
def _configure_bigchaindb(request, certs_dir):
def _configure_bigchaindb(request, ssl_context):
import bigchaindb
from bigchaindb import config_utils
test_db_name = TEST_DB_NAME
@ -141,10 +148,10 @@ def _configure_bigchaindb(request, certs_dir):
'connection_timeout': 5000,
'max_tries': 3,
'ssl': True,
'ca_cert': os.environ.get('BIGCHAINDB_DATABASE_CA_CERT', certs_dir + '/ca.crt'),
'crlfile': os.environ.get('BIGCHAINDB_DATABASE_CRLFILE', certs_dir + '/crl.pem'),
'certfile': os.environ.get('BIGCHAINDB_DATABASE_CERTFILE', certs_dir + '/test_bdb_ssl.crt'),
'keyfile': os.environ.get('BIGCHAINDB_DATABASE_KEYFILE', certs_dir + '/test_bdb_ssl.key'),
'ca_cert': ssl_context.ca,
'crlfile': ssl_context.crl,
'certfile': ssl_context.cert,
'keyfile': ssl_context.key,
'keyfile_passphrase': os.environ.get('BIGCHAINDB_DATABASE_KEYFILE_PASSPHRASE', None)
}
bigchaindb._database_map[backend].update(bigchaindb._base_database_mongodb)
@ -157,6 +164,8 @@ def _configure_bigchaindb(request, certs_dir):
}
}
config['database']['name'] = test_db_name
consensus_plugin = request.config.getoption('--consensus-plugin')
config['consensus_plugin'] = consensus_plugin
config_utils.set_config(config)
@ -487,8 +496,49 @@ def mocked_setup_sub_logger(mocker):
@pytest.fixture(scope='session')
def certs_dir():
cwd = os.environ.get('TRAVIS_BUILD_DIR', os.getcwd())
return cwd + '/tests/backend/mongodb-ssl/certs'
return os.path.abspath('tests/backend/mongodb-ssl/certs')
@pytest.fixture(scope='session')
def ca_chain_cert(certs_dir):
return os.environ.get(
'BIGCHAINDB_DATABASE_CA_CERT',
os.path.join(certs_dir, 'ca-chain.cert.pem'))
@pytest.fixture(scope='session')
def ssl_crl(certs_dir):
return os.environ.get(
'BIGCHAINDB_DATABASE_CRLFILE',
os.path.join(certs_dir, 'crl.pem'))
@pytest.fixture(scope='session')
def ssl_cert(certs_dir):
return os.environ.get(
'BIGCHAINDB_DATABASE_CERTFILE',
os.path.join(certs_dir, 'bigchaindb.cert.pem'))
@pytest.fixture(scope='session')
def ssl_key(certs_dir):
return os.environ.get(
'BIGCHAINDB_DATABASE_KEYFILE',
os.path.join(certs_dir, 'bigchaindb.key.pem'))
@pytest.fixture
def mdb_ssl_pem_key(certs_dir):
return os.environ.get(
'BIGCHAINDB_MDB_PEM_KEY_TEST',
os.path.join(certs_dir, 'local-mongo.pem'))
@pytest.fixture(scope='session')
def ssl_context(ca_chain_cert, ssl_crl, ssl_cert, ssl_key):
SSLContext = namedtuple('SSLContext', ('ca', 'crl', 'cert', 'key'))
return SSLContext(
ca=ca_chain_cert, crl=ssl_crl, cert=ssl_cert, key=ssl_key)
@pytest.fixture
@ -524,3 +574,4 @@ def genesis_tx(b, user_pk):
tx.operation = Transaction.GENESIS
genesis_tx = tx.sign([b.me_private])
return genesis_tx

View File

@ -150,7 +150,7 @@ def test_env_config(monkeypatch):
assert result == expected
def test_autoconfigure_read_both_from_file_and_env(monkeypatch, request, certs_dir):
def test_autoconfigure_read_both_from_file_and_env(monkeypatch, request, ssl_context):
# constants
DATABASE_HOST = 'test-host'
DATABASE_NAME = 'test-dbname'
@ -191,10 +191,10 @@ def test_autoconfigure_read_both_from_file_and_env(monkeypatch, request, certs_d
'BIGCHAINDB_WSSERVER_ADVERTISED_PORT': WSSERVER_ADVERTISED_PORT,
'BIGCHAINDB_KEYRING': KEYRING,
'BIGCHAINDB_LOG_FILE': LOG_FILE,
'BIGCHAINDB_DATABASE_CA_CERT': certs_dir + '/ca.crt',
'BIGCHAINDB_DATABASE_CRLFILE': certs_dir + '/crl.pem',
'BIGCHAINDB_DATABASE_CERTFILE': certs_dir + '/test_bdb_ssl.crt',
'BIGCHAINDB_DATABASE_KEYFILE': certs_dir + '/test_bdb_ssl.key',
'BIGCHAINDB_DATABASE_CA_CERT': ssl_context.ca,
'BIGCHAINDB_DATABASE_CRLFILE': ssl_context.crl,
'BIGCHAINDB_DATABASE_CERTFILE': ss_context.cert,
'BIGCHAINDB_DATABASE_KEYFILE': ssl_context.key,
'BIGCHAINDB_DATABASE_KEYFILE_PASSPHRASE': None})
else:
monkeypatch.setattr('os.environ', {'BIGCHAINDB_DATABASE_NAME': DATABASE_NAME,
@ -253,10 +253,10 @@ def test_autoconfigure_read_both_from_file_and_env(monkeypatch, request, certs_d
'ssl': True,
'login': None,
'password': None,
'ca_cert': certs_dir + '/ca.crt',
'crlfile': certs_dir + '/crl.pem',
'certfile': certs_dir + '/test_bdb_ssl.crt',
'keyfile': certs_dir + '/test_bdb_ssl.key',
'ca_cert': ssl_context.ca,
'crlfile': ssl_context.crl,
'certfile': ssl_context.cert,
'keyfile': ssl_context.key,
'keyfile_passphrase': None
}
@ -305,6 +305,7 @@ def test_autoconfigure_read_both_from_file_and_env(monkeypatch, request, certs_d
'port': 9020
},
'graphite': {'host': 'localhost'},
'consensus_plugin': None,
}
@ -415,3 +416,4 @@ def test_database_envs_replicaset(monkeypatch):
expected_config['database']['replicaset'] = 'test-replicaset'
assert bigchaindb.config == expected_config