从 Python 中的 base64 编码字符串中获取 public 密钥
Get public key from base64 encded string in Python
我有一个 base64 编码的证书。
我可以像这样使用 Java 获得 public 密钥:
private static final String CERTIFICATE = "MIIGXDCCBUSgAwIBAgIMNrcrYQDXRuN4uLHeMA0GCSqGSIb3DQEBC........";
X509Certificate cert = (X509Certificate) CertificateFactory.getInstance("X.509")
.generateCertificate(new ByteArrayInputStream(Base64.getDecoder().decode(CERTIFICATE)));
PublicKey publicKey = cert.getPublicKey();
但现在我尝试使用 Python 做同样的事情 3. 我无法找到任何示例如何从 base64 编码的字符串中获取 public 密钥。
有人可以帮助我或指出一些示例代码以获取 public 密钥,稍后我可以使用它来加密 JWT。
谢谢
大卫
from cryptography.x509 import load_pem_x509_certificate
from cryptography.hazmat.backends import default_backend
cert_str = '-----BEGIN CERTIFICATE----- MUST HAVE THE BEGIN AND END CERTIFICATE -----END CERTIFICATE-----';
cert_obj = load_pem_x509_certificate(str.encode(cert_str), default_backend())
public_key = cert_obj.public_key();
我有一个 base64 编码的证书。 我可以像这样使用 Java 获得 public 密钥:
private static final String CERTIFICATE = "MIIGXDCCBUSgAwIBAgIMNrcrYQDXRuN4uLHeMA0GCSqGSIb3DQEBC........";
X509Certificate cert = (X509Certificate) CertificateFactory.getInstance("X.509")
.generateCertificate(new ByteArrayInputStream(Base64.getDecoder().decode(CERTIFICATE)));
PublicKey publicKey = cert.getPublicKey();
但现在我尝试使用 Python 做同样的事情 3. 我无法找到任何示例如何从 base64 编码的字符串中获取 public 密钥。 有人可以帮助我或指出一些示例代码以获取 public 密钥,稍后我可以使用它来加密 JWT。
谢谢 大卫
from cryptography.x509 import load_pem_x509_certificate
from cryptography.hazmat.backends import default_backend
cert_str = '-----BEGIN CERTIFICATE----- MUST HAVE THE BEGIN AND END CERTIFICATE -----END CERTIFICATE-----';
cert_obj = load_pem_x509_certificate(str.encode(cert_str), default_backend())
public_key = cert_obj.public_key();