Bug 1364268

Summary: GENERAL_NAME_print doesn't print colon for Registered ID
Product: Red Hat Enterprise Linux 7 Reporter: Rich Megginson <rmeggins>
Component: opensslAssignee: Tomas Mraz <tmraz>
Status: CLOSED WONTFIX QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: medium Docs Contact:
Priority: high    
Version: 7.7CC: cheimes, ewolinet, mgrepl, nmavrogi, szidek
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1402153 (view as bug list) Environment:
Last Closed: 2019-02-11 15:39:50 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1648287    

Description Rich Megginson 2016-08-04 22:00:31 UTC
Description of problem:
https://github.com/openssl/openssl/blob/master/crypto/x509v3/v3_alt.c#L183

Registered ID is the only field which doesn't have a colon.   The code in python
https://hg.python.org/releases/2.7.11/file/tip/Modules/_ssl.c#l960 expects all general name string values to be in the form "type:value".  Among other problems, this causes urllib3 to fail to validate certs, which is currently causing problems for OpenShift and its curator component which uses elasticsearch-py which uses urllib3.

A SAN containing the Registered ID field is required in order to use SearchGuard 2.x with Elasticsearch 2.x: https://github.com/floragunncom/search-guard-docs/blob/1a35ec309661f7b8fb1efc2586fc298dcb7cb139/installation.md#generating-a-server-certificate

Version-Release number of selected component (if applicable):

openssl-1.0.1e-51.el7_2.5.x86_64

How reproducible:

Every time when using python ssl and the server cert contains SAN with Registered ID and you are validating the cert.


Steps to Reproduce:
1.Try to convert a cert containing a SAN with a Registered ID field using python ssl getpeercert(False).
2.
3.

Actual results:


Expected results:


Additional info:

Comment 2 Christian Heimes 2016-08-05 09:41:18 UTC
I have created a bug for Python, too. https://bugs.python.org/issue27691

Comment 3 Christian Heimes 2016-08-05 10:59:47 UTC
Since I'm a maintainer of Python's ssl module and wrote/refactored most of the cert printing code a couple of years ago, I took the liberty and address the issue in Python directly. You may find the patch on Python bug 27691.

Comment 4 Christian Heimes 2016-08-05 11:11:18 UTC
I created #1364444 to track the bug in Python.

Comment 5 Simo Sorce 2019-02-11 15:39:50 UTC
This issue was not selected to be included either in Red Hat Enterprise Linux 7.7 because it is seen either as low or moderate impact to a small amount of use-cases. The next release will be in Maintenance Support 1 Phase, which means that qualified Critical and Important Security errata advisories (RHSAs) and Urgent Priority Bug Fix errata advisories (RHBAs) may be released as they become available. We will now close this issue, but if you believe that it qualifies for the Maintenance Support 1 Phase, please re-open; otherwise we recommend moving the request to Red Hat Enterprise Linux 8 if applicable.