我正在尝试用Python解密PEM证书。目前,我正在尝试使用加密x509来实现这一点。这是我的主管告诉我的,但是,由于他目前不在,我没有机会问他
我目前拥有的是:
from cryptography import x509
from cryptography.hazmat.backends import default_backend
import json
def uitlezen(message):
c = x509.load_der_x509_certificate(message.read(), default_backend())
print(c)
return c
if __name__ == "__main__":
en_cert = json.loads("example PEM")
de_cert = uitlezen(en_cert)
print(de_cert)
(它之所以会激活是有原因的,因为这是更大脚本的一部分)。 这会产生以下错误:
Traceback (most recent call last):
File "path", line 11, in <module>
en_cert = json.loads("-----BEGIN PRIVATE KEY-----MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDBj08sp5++4anGcmQxJjAkBgNVBAoTHVByb2dyZXNzIFNvZnR3YXJlIENvcnBvcmF0aW9uMSAwHgYDVQQDDBcqLmF3cy10ZXN0LnByb2dyZXNzLmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD...bml6YXRpb252YWxzaGEyZzIuY3JsMIGgBggrBgEFBQcBAQSBkzCBkDBNBggrBgEFBQcwAoZBaHR0cDovL3NlY3VyZS5nbG9iYWxzaWduLmNvbS9jYWNlcnQvZ3Nvcmdhz3P668YfhUbKdRF6S42Cg6zn-----END PRIVATE KEY-----")
File "path", line 348, in loads
return _default_decoder.decode(s)
File "path", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "path", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
我已经尝试过同样的方法,只是将en_cert(以及示例证书)作为字符串,如下所示:
from cryptography import x509
from cryptography.hazmat.backends import default_backend
import json
def uitlezen(message):
c = x509.load_der_x509_certificate(message.read(), default_backend())
print(c)
return c
if __name__ == "__main__":
en_cert = "example PEM"
de_cert = uitlezen(en_cert)
print(de_cert)
这会产生以下错误:
Traceback (most recent call last):
File "path", line 12, in <module>
de_cert = uitlezen(en_cert)
File "path", line 6, in uitlezen
c = x509.load_der_x509_certificate(message.read(), default_backend())
AttributeError: 'str' object has no attribute 'read'
有人知道我应该如何通过PEM示例,使其解密吗
目前没有回答
相关问题 更多 >
编程相关推荐