Estou encarregado do esquema de certificados da minha organização, estou tentando atender aos novos requisitos exigidos pelo Google Chrome em relação à RFC2818 (o requisito para "Nome alternativo da entidade" em um certificado de servidor).
Nas minhas tentativas, estou usando o EasyRSA (que usa OpenSSL ) para gerar minha CA raiz e meus certificados de servidor e usuário. Estou gerando certificados de cliente com aparência completamente válida no Windows MMC , mas o Chrome não os lista quando solicita um certificado de cliente ao acessar nosso site (que está configurado para exigir um certificado)
Estas são as propriedades do certificado antigo que funciona (é mostrado na janela de prompt do Chrome), as finalidades pretendidas, conforme mostrado na visualização de lista do MMC, são < All >:
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, [email protected]
Public key: RSA (1024 Bits)
Authority Key Identifier: KeyId=0f d9 ...
Thumbprint algorithm: sha1
Thumbprint: 40 11 ...
E essas são as propriedades do certificado que NÃO são mostradas, que na exibição de lista do MMC são mostradas como "Autenticação de cliente" nos objetivos pretendidos:
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 ...
Eu tenho esgotado minhas habilidades de pesquisa na Internet sobre este assunto, por favor ajude se você puder. Como alternativa, por favor, ajude como criar uma cadeia de certificados válida (CA, servidor, cliente) usando o OpenSSL (ou EasyRSA), que está em conformidade com o RFC2818 e é reconhecido pelo Google Chrome (v.58). Obrigado!
EDITAR
Esta é a saída da execução de openssl s_client
para o meu servidor:
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)
---
Tags openssl certificate chrome