From: Matthias G. <Mat...@gm...> - 2009-08-18 16:58:08
|
Hello guys I am trying to open an Base64 encoded X509 certificate using the following two lines: ------------------------- #!/usr/bin/python from OpenSSL import * crypto.load_certificate(crypto.FILETYPE_PEM, 'client.pem') ------------------------- Can someone please tell, why for gods sake i receive this error? ------------------------- Traceback (most recent call last): File "test.py", line 2, in <module> crypto.load_certificate(crypto.FILETYPE_PEM, 'client.pem') OpenSSL.crypto.Error: [('PEM routines', 'PEM_read_bio', 'no start line')] ------------------------- I am using the latest pyOpenSSL modules (version 0.9) and OpenSSL version ' OpenSSL 0.9.8k-fips 25 Mar 2009' This is what my test certificate looks like $ cat client.pem -----BEGIN CERTIFICATE----- MIIFDDCCA/SgAwIBAgIBAzANBgkqhkiG9w0BAQUFADCBxTELMAkGA1UEBhMCR0Ix GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEa MBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0 aWZpY2F0aW9uIEF1dGhvcml0eTEfMB0GA1UECxMWSW5mb3JtYXRpb24gVGVjaG5v bG9neTEhMB8GCSqGSIb3DQEJARYSY29udGFjdEBjb21vZG8uY29tMB4XDTA5MDgx ODEzMzMxM1oXDTEwMDgxODEzMzMxM1owgbAxCzAJBgNVBAYTAkNIMQswCQYDVQQI EwJaSDEPMA0GA1UEBxMGWnVyaWNoMRgwFgYDVQQKEw9NeSBDb21wYW55IEluYy4x HDAaBgNVBAMTE3dlYmNhLm15Y29tcGFueS5jb20xHzAdBgNVBAsTFkluZm9ybWF0 aW9uIFRlY2hub2xvZ3kxKjAoBgkqhkiG9w0BCQEWG21hdHRoaWFzLmd1ZW50ZXJ0 QGdtYWlsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKnU8f94 fV9/dx1I7A38v5BLtC72RP6wcMwQKtbwjFPlN007l5Ba8EBd/gU3sC5tgbQUeCjX YGSat27S0V9dh+bKfqjMlxMuiggOoFTkOXGi9xAsg8grH4lSj5AJ9MEtkUewixk3 bBbak3FZEFsCT0MqJxPglBBN3VH7Ws2kJhXVDkN4cNZAabN9SSsaQ5dzdVYkTSmB JOstpUQcL6XYJrfga5d1JOPNUcChfZQzkwNbLwvTHmEfS2fVY4lDFgS4D6CK93mL HfpYMH6KTMTuxvpABYdP3oYZx4RkDu9bW+kVTzOkTFvuJS/RplBklpcCwpiGZRSu 3uPM0ZwEDXl4kVECAwEAAaOCARgwggEUMB0GA1UdDgQWBBTaOaPuXmtLDTJVv++V YBiQr9gHCTCB8gYDVR0jBIHqMIHngBQh/bRnvtQDgFt58jMU5CDps5M4mKGBy6SB yDCBxTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQ MA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAl BgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEfMB0GA1UECxMW SW5mb3JtYXRpb24gVGVjaG5vbG9neTEhMB8GCSqGSIb3DQEJARYSY29udGFjdEBj b21vZG8uY29tggEBMA0GCSqGSIb3DQEBBQUAA4IBAQByC+ddcYxjmQ2gXioIRFPq BVE7bGw4+gTu0LOBu1T9sV7xDhVqHeOlf3WZZzDWipvOjCvjsl4wblobdYNHDCQT J3n0dA7HnxsKI0wVOptRSXhjgQLGxq94oEnAiFdgu6CXVN50MWD//UAazpusMQYn P1eamkIER3Hkt7G5/PQmCjQhNh0gQpFF9l58zTmeQ/mGRa2PN34WGRkFDGCTFhno g2h5UmNF03QL+m8YCdWY2EIztgVhRvLABxAMkdOHUCCfpZfh6ixd0vKk2/xXeE+I 0xcY5AW0CwSrgzy4ITXY1dbFxCSH3DuwJl4ECG+OQqV8zORzuiLIDlZPEu5/J7AD -----END CERTIFICATE----- |
From: <ex...@tw...> - 2009-08-19 14:13:27
|
On 18 Aug, 04:57 pm, mat...@gm... wrote: >Hello guys > >I am trying to open an Base64 encoded X509 certificate using the >following two lines: This is pretty weird. I'm able to reproduce it. Moreover, using the openssl command line tools does not produce this error, but loads (correctly, I assume) the certificate. Was the certificate created in an unusual way? That might point more specifically at where the problem in pyOpenSSL is. Jean-Paul |
From: Dave C. <da...@cr...> - 2009-08-19 16:15:53
|
On Tue Aug 18 17:57:53 2009, Matthias Güntert wrote: > Can someone please tell, why for gods sake i receive this error? > > ------------------------- > Traceback (most recent call last): > File "test.py", line 2, in <module> > crypto.load_certificate(crypto.FILETYPE_PEM, 'client.pem') > OpenSSL.crypto.Error: [('PEM routines', 'PEM_read_bio', 'no start > line')] > ------------------------- Because the string 'client.pem' does not have a PEM start line... crypto.load_certificate(crypto.FILETYPE_PEM, file('client.pem').read()) will do what you want. Dave. -- Dave Cridland - mailto:da...@cr... - xmpp:dw...@da... - acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/ - http://dave.cridland.net/ Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade |
From: <ex...@tw...> - 2009-08-19 17:22:30
|
On 04:03 pm, da...@cr... wrote: >On Tue Aug 18 17:57:53 2009, Matthias G wrote: >>Can someone please tell, why for gods sake i receive this error? >> >>------------------------- >>Traceback (most recent call last): >> File "test.py", line 2, in <module> >> crypto.load_certificate(crypto.FILETYPE_PEM, 'client.pem') >>OpenSSL.crypto.Error: [('PEM routines', 'PEM_read_bio', 'no start >>line')] >>------------------------- > >Because the string 'client.pem' does not have a PEM start line... > >crypto.load_certificate(crypto.FILETYPE_PEM, >file('client.pem').read()) > >will do what you want. Groan. Good catch, Dave. :) Jean-Paul |