0

Recently, I have met an issue when using pyOpenSSL to load a certificate in Ubuntu 14.04. It raised an exception as below

[('asn1 encoding routines', 'c2i_ibuf', 'illegal padding'), ('asn1 encoding routines',
'asn1_template_noexp_d2i', 'nested asn1 error'), ('asn1 encoding routines',
'asn1_template_noexp_d2i', 'nested asn1 error')]

While I try it in MacOSX it works fine. I have re-checked the dependencies for pyOpenSSL, it showed nothing missing. And I have tried another Ubuntu machine. It still raised the same exception.

Here are the code snippet

import base64
from OpenSSL import crypto
cert_loaded = crypto.load_certificate(crypto.FILETYPE_ASN1, base64.b64decode("MIIC2TCCAkKgAwIBAgIUAEDNJce2emwOFjhCvPanu9xW9H4wDQYJKoZIhvcNAQEFBQAwgagxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRYwFAYDVQQHEw1CYXNraW5nIFJpZGdlMRIwEAYDVQQKEwlBdmF5YSBJbmMxDDAKBgNVBAsTA0dDUzEoMCYGA1UEAxMfaXBvZmZpY2UtMDBlMDA3MDc4ZDQ0LmF2YXlhLmNvbTEgMB4GCSqGSIb3DQEJARMRc3VwcG9ydEBhdmF5YS5jb20wHhcNMTMwMzE5MTkyODEyWhcNMjAwMzE5MTkyODEyWjCBqDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFjAUBgNVBAcTDUJhc2tpbmcgUmlkZ2UxEjAQBgNVBAoTCUF2YXlhIEluYzEMMAoGA1UECxMDR0NTMSgwJgYDVQQDEx9pcG9mZmljZS0wMGUwMDcwNzhkNDQuYXZheWEuY29tMSAwHgYJKoZIhvcNAQkBExFzdXBwb3J0QGF2YXlhLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEApVTAvrc7MNMJZNITJTLH62FRvFIZPZ3Ay+HcmGhtuGKnNsYm9IB+F20pEQ/Xs7uU8oBa1CQA9Y7iUXVHripABSrKg6aqf4nW3+vvlpRwwVGCP5AyjGMg/oSCM0uzRyGeKdfZnAXKM8IV+n3UI7LW9GWLcDqqpfiilHK4/N1m1WMCAwEAATANBgkqhkiG9w0BAQUFAAOBgQBiWXl66qowD0vaT/ulMVcY29dytTosf0WjzGm+O8GXp0BSn49IspLUaIUuiALW2PjEaJcSHMf/d+SauAka0Rxy4LVDS0vdNNdaEu9maMh4m3XE4OT0G0ymrBX5Zc4Sb4KBQDpnupZegNdR95r81LavXf/yHIZrcZ99A0bVUqyohg=="))

Is there anyone could help me out with this issue?

Ryan Chou
  • 1,086
  • 11
  • 21
  • Regarding `FILETYPE_ASN1, "MIIC2TCC..."`... ASN.1/DER is binary. The string `MII...` is Base64 encoded. I'm guessing it should fail on both machines. – jww Oct 20 '17 at 04:23
  • @jww Sorry I made mistake on missing `base64.b64decode` on the code snippet above. While I have decoded base64 certificate to parse. it still raise exception – Ryan Chou Oct 20 '17 at 04:28

0 Answers0