Я отвечаю за схему сертификатов своей организации, я пытаюсь соответствовать новым требованиям, введенным Google Chrome в отношении RFC2818 (требование для «Альтернативного имени субъекта» в сертификате сервера).
В своих попытках я использую EasyRSA (который использует OpenSSL) для создания моего корневого ЦС, а также сертификатов сервера и пользователя. Я успешно генерирую клиентские сертификаты, которые выглядят полностью действительными в Windows MMC, тем не мение Chrome их не перечисляет когда он запрашивает сертификат клиента при доступе к нашему веб-сайту (который настроен на требование сертификата)
Это свойства старого сертификата, который работает (отображается в окне подсказки Chrome), его предполагаемое назначение, как показано в представлении списка MMC, - <Все>:
This certificate is intended for the following purpose(s):
* All application policies
Version: V3
Serial number: a1 ed ...
Signature algorithm: sha1RSA
Signature hash algorithm: sha1
Issuer: MyOrganization
Valid from: Sunday, June 23, 2013 3:35:55 PM
Valid to: Sunday, January 01, 2040 2:59:59 AM
Subject: My Name, myemail@myorganization.com
Public key: RSA (1024 Bits)
Authority Key Identifier: KeyId=0f d9 ...
Thumbprint algorithm: sha1
Thumbprint: 40 11 ...
И вот свойства сертификата, который НЕ отображается, который в представлении списка MMC отображается как «Проверка подлинности клиента» в предполагаемых целях:
This certificate is intended for the following purpose(s):
* Proves your identity to a remote computer
Version: V3
Serial number: 07
Signature algorithm: sha256RSA
Signature hash algorithm: sha256
Issuer: MyOrganization2
Valid from: Thursday, April 27, 2017 7:29:09 PM
Valid to: Sunday, April 25, 2027 7:29:09 PM
Subject: My Name
Public key: RSA (2048 Bits)
Basic Constraints: Subject Type=End Entity
Path Length Constraint=None
Subject Key Identifier: c6 cf ...
Authority Key Identifier: KeyId=0a 21 ...
Enhanced Key Usage: Client Authentication (1.3.6.1.5.5.7.3.2)
Key Usage: Digital Signature (80)
Thumbprint algorithm: sha1
Thumbprint: 0a 12 ...
Я исчерпал свои возможности поиска в Интернете по этому поводу, пожалуйста, помогите, если сможете. В качестве альтернативы, пожалуйста, помогите, как создать действительную цепочку сертификатов (CA, сервер, клиент) с помощью OpenSSL (или EasyRSA), которая соответствует RFC2818 и распознается Google Chrome (v.58). Спасибо!
РЕДАКТИРОВАТЬ
Это результат работы openssl s_client
на мой сервер:
CONNECTED(0000011C)
---
Certificate chain
0 s:/C=IL/L=*****/O=*****/CN=www.*****.com
i:/C=IL/O=*****/CN=***** Intermediate CA
1 s:/C=IL/O=*****/CN=***** Intermediate CA
i:/C=IL/L=*****/O=*****/CN=***** Root CA
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIFhz...
-----END CERTIFICATE-----
subject=/C=IL/L=*****/O=*****/CN=www.*****.com
issuer=/C=IL/O=*****/CN=***** Intermediate CA
---
No client certificate CA names sent
---
SSL handshake has read 3006 bytes and written 401 bytes
---
New, TLSv1/SSLv3, Cipher is RC4-MD5
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : RC4-MD5
Session-ID: B30B0...
Session-ID-ctx:
Master-Key: 3C40F...
Key-Arg : None
Start Time: 1493541902
Timeout : 300 (sec)
Verify return code: 20 (unable to get local issuer certificate)
---