octavia.common.tls_utils package¶
Submodules¶
octavia.common.tls_utils.cert_parser module¶
- build_pem(tls_container)[source]¶
Concatenate TLS container fields to create a PEM
encoded certificate file
- Parameters:
tls_container – Object container TLS certificates
- Returns:
Pem encoded certificate file
- get_cert_expiration(certificate_pem)[source]¶
Extract the expiration date from the Pem encoded X509 certificate
- Parameters:
certificate_pem – Certificate in PEM format
- Returns:
Expiration date of certificate_pem
- get_host_names(certificate)[source]¶
Extract the host names from the Pem encoded X509 certificate
- Parameters:
certificate – A PEM encoded certificate
- Returns:
A dictionary containing the following keys: [‘cn’, ‘dns_names’] where ‘cn’ is the CN from the SubjectName of the certificate, and ‘dns_names’ is a list of dNSNames (possibly empty) from the SubjectAltNames of the certificate.
- get_intermediates_pems(intermediates=None)[source]¶
Split the input string into individual x509 text blocks
- Parameters:
intermediates – PEM or PKCS7 encoded intermediate certificates
- Returns:
A list of strings where each string represents an X509 pem block surrounded by BEGIN CERTIFICATE, END CERTIFICATE block tags
- load_certificates_data(cert_mngr, obj, context=None)[source]¶
Load TLS certificate data from the listener/pool.
return TLS_CERT and SNI_CERTS
- prepare_private_key(private_key, passphrase=None)[source]¶
Prepares an unencrypted PEM-encoded private key for printing
- Parameters:
private_key – The private key in PEM format (encrypted or not)
- Returns:
The unencrypted private key in PEM format
- validate_cert(certificate, private_key=None, private_key_passphrase=None, intermediates=None)[source]¶
Validate that the certificate is a valid PEM encoded X509 object
Optionally verify that the private key matches the certificate. Optionally verify that the intermediates are valid X509 objects.
- Parameters:
certificate – A PEM encoded certificate
private_key – The private key for the certificate
private_key_passphrase – Passphrase for accessing the private key
intermediates – PEM or PKCS7 encoded intermediate certificates
- Returns:
boolean