def test_generate_wildcard_pem_bytes():
"""
When we generate a self-signed wildcard certificate's PEM data, that data
should be deserializable and the deserilized certificate should have the
expected parameters.
"""
pem_bytes = generate_wildcard_pem_bytes()
# Parse the concatenated bytes into a list of object
pem_objects = pem.parse(pem_bytes)
assert_that(pem_objects, HasLength(2))
# Deserialize the private key and assert that it is the right type (the
# other details we trust txacme with)
key = serialization.load_pem_private_key(
pem_objects[0].as_bytes(),
password=None,
backend=default_backend()
)
assert_that(key, IsInstance(rsa.RSAPrivateKey))
# Deserialize the certificate and validate all the options we set
cert = x509.load_pem_x509_certificate(
pem_objects[1].as_bytes(), backend=default_backend()
)
expected_before = datetime.today() - timedelta(days=1)
expected_after = datetime.now() + timedelta(days=3650)
assert_that(cert, MatchesStructure(
issuer=MatchesListwise([
MatchesStructure(value=Equals(u'*'))
]),
subject=MatchesListwise([
MatchesStructure(value=Equals(u'*'))
]),
not_valid_before=matches_time_or_just_before(expected_before),
not_valid_after=matches_time_or_just_before(expected_after),
signature_hash_algorithm=IsInstance(hashes.SHA256)
))
assert_that(cert.public_key().public_numbers(), Equals(
key.public_key().public_numbers()))
# From txacme
test_acme_util.py 文件源码
python
阅读 20
收藏 0
点赞 0
评论 0
评论列表
文章目录