def _add_extensions(self, cert, is_server=False):
"""
(internal use only)
adds x509 extensions to ``cert``
"""
ext = list()
ext.append(crypto.X509Extension(b'basicConstraints',
True,
b'CA:FALSE'))
ext.append(crypto.X509Extension(b'keyUsage',
CERT_KEYUSAGE_CRITICAL,
bytes_compat(CERT_KEYUSAGE_VALUE)))
if is_server:
ext.append(crypto.X509Extension(b'extendedKeyUsage', False, b'serverAuth'))
issuer_cert = self.ca_cert
ext.append(crypto.X509Extension(b'subjectKeyIdentifier',
False,
b'hash',
subject=cert))
cert.add_extensions(ext)
cert.add_extensions([
crypto.X509Extension(b'authorityKeyIdentifier',
False,
b'keyid:always,issuer:always',
issuer=issuer_cert)
])
return cert
评论列表
文章目录