Patch to make pyOpenSSL compatible to OpenSSL 1.0.0

Bug #570101 reported by M.-A. Lemburg
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
pyOpenSSL
Fix Released
Undecided
Unassigned
Gentoo Linux
New
Undecided
Unassigned

Bug Description

Here's a patch to get pyOpenSSL 0.10.0 to compile against OpenSSL 1.0.0 on Windows.

Related branches

Revision history for this message
M.-A. Lemburg (mal-egenix) wrote :
Revision history for this message
M.-A. Lemburg (mal-egenix) wrote :
Download full text (12.5 KiB)

A couple of test strings also need to be updated due to changes in the OpenSSL 1.0.0 output format.

Here's the test report (dumped_text being the OpenSSL 1.0.0 version of the texts):

======================================================================
FAIL: test_dump_certificate (__main__.FunctionTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "OpenSSL/test/test_crypto.py", line 1428, in test_dump_certificate
    self.assertEqual(dumped_text, good_text)
AssertionError: 'Certificate:\n Data:\n Version: 3 (0x2)\n Serial Number:\n 3d:0c:c4:e0:c6:de:b9:f4\n Signature Algorithm: sha1WithRSAEncryption\n Issuer: C=US, ST=IL, L=Chicago, O=Testing, CN=Testing Root CA\n Validity\n Not Before: Mar 25 12:36:58 2009 GMT\n Not After : Jun 11 12:36:58 2017 GMT\n Subject: C=US, ST=IL, L=Chicago, O=Testing, CN=Testing Root CA\n Subject Public Key Info:\n Public Key Algorithm: rsaEncryption\n Public-Key: (1024 bit)\n Modulus:\n 00:f9:9a:42:e9:8b:ba:ba:44:e7:6e:ee:48:41:dd:\n 2f:5a:6a:70:34:66:5b:3b:be:f7:c6:3a:60:7c:d3:\n fc:9e:ca:58:46:a6:c8:c0:8d:67:a7:d1:5b:52:42:\n 47:bf:36:51:0f:1a:d3:b7:f2:db:15:ec:2b:2e:16:\n 74:a6:b1:c8:6f:02:71:ab:70:99:7b:e9:bd:14:38:\n e1:d4:80:34:c8:a1:1c:42:e9:00:d4:dd:c9:5a:7a:\n 0c:2c:ac:10:3e:b0:91:01:6e:ac:79:45:d5:db:21:\n 11:a2:70:f1:bf:f2:a4:38:66:6d:52:28:e8:28:b5:\n c6:f0:89:aa:2b:db:2c:59:db\n Exponent: 65537 (0x10001)\n X509v3 extensions:\n X509v3 Subject Key Identifier: \n 83:55:77:2D:5E:21:F1:49:0C:09:24:E7:54:09:12:8D:C8:7E:04:AE\n X509v3 Authority Key Identifier: \n keyid:83:55:77:2D:5E:21:F1:49:0C:09:24:E7:54:09:12:8D:C8:7E:04:AE\n DirName:/C=US/ST=IL/L=Chicago/O=Testing/CN=Testing Root CA\n serial:3D:0C:C4:E0:C6:DE:B9:F4\n\n X509v3 Basic Constraints: \n CA:TRUE\n Signature Algorithm: sha1WithRSAEncryption\n 61:82:0d:ac:cc:24:6a:16:34:1a:5c:d3:7b:ba:fa:c9:9c:f7:\n 97:44:79:a7:76:2a:56:57:04:04:ce:74:54:f5:55:eb:18:df:\n e9:d4:3a:a6:61:12:14:c6:94:33:22:86:48:1a:66:7c:e8:22:\n af:d4:6a:68:9d:7a:09:38:86:2a:ec:09:3f:d1:fb:ab:ec:28:\n 00:31:35:37:01:8d:47:99:8e:5c:a4:08:95:b2:e6:88:d2:84:\n 67:ed:5c:82:98:c3:f9:e3:55:b2:8c:5e:bb:dc:f3:7a:a6:4d:\n d1:a5:dd:30:0c:d1:fc:50:22:9a:a0:72:09:45:2e:f7:84:06:\n 0c:e7\n' != 'Certificate:\n Data:\n Version: 3 (0x2)\n Serial Number:\n 3d:0c:c4:e0:c6:de:b9:f4\n Signature Algorithm: sha1WithRSAEncryption\n Issuer: C=US, ST=IL, L=Chicago, O=Testing, CN=Testing Root CA\n Validity\n Not Before: Mar 25 12:36:58 2009 GMT\n Not After : Jun 11 12:36:58 2017 GMT\n Subject: C=US, ST=IL, L=Chicago, O=Testing, CN=Testing Root CA\n Subject Public Key Info:\n ...

Revision history for this message
M.-A. Lemburg (mal-egenix) wrote :

In addition, there's this failure, but it appears to be related to the above change in output format:

======================================================================
ERROR: test_friendly_name (__main__.PKCS12Tests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/OpenSSL/test/util.py", line 40, in tearDown
    self.fail("Left over errors in OpenSSL error queue: " + repr(e))
AssertionError: Left over errors in OpenSSL error queue: Error([('x509 certificate routines', 'X509_check_private_key', 'key values mismatch')],)

Changed in pyopenssl:
milestone: none → 0.13
Revision history for this message
Jean-Paul Calderone (exarkun) wrote :

The branch passes all tests now. I'm sort of waiting to have a build slave set up to test this configuration before merging.

Changed in pyopenssl:
status: New → Fix Committed
Changed in pyopenssl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.