Recuperar informações organizacionais do certificado SSL / chave

2

Estou administrando um servidor RHEL 6.6 que herdei de um administrador com o qual a empresa não tem mais contato. Eu preciso substituir o certificado SSL, para o qual algumas informações sobre a organização física são necessárias:

$ openssl req -new -newkey rsa:2048 -nodes -sha256 -keyout example.com.key -out example.com.csr
Generating a 2048 bit RSA private key
..........+++
.........................................................+++
writing new private key to 'example.com.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:New Jersey
Locality Name (eg, city) []:Salem
Organization Name (eg, company) [Internet Widgits Pty Ltd]:International Widgets
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:example.com
Email Address []:[email protected]

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:International Widgets

Dado o certificado ou chave SSL existente, como posso recuperar as informações organizacionais usadas? Não sei ao certo como é crítico que essas informações correspondam ao que estava lá antes, mas preferiria estar seguro do que remediar. Infelizmente, sendo uma empresa on-line, não há um único endereço físico a ser usado, e a empresa é dividida entre quatro proprietários, nenhum dos quais sabe quais informações estavam no certificado original.

Talvez realmente não importe se eu simplesmente respondo a tudo "foobar", mas não posso assumir isso.

Eu tentei usar a ferramenta openssl para obter as informações, mas nada de interessante surgiu:

$ openssl x509 -text -in example.com.crt
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 1xxxxxxxxxx1 (0x4xxxxxxxb)
    Signature Algorithm: sha1WithRSAEncryption
        Issuer: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., OU=http://certificates.godaddy.com/repository, CN=Go Daddy Secure Certification Authority/serialNumber=07969287
        Validity
            Not Before: Aug 11 12:16:01 2014 GMT
            Not After : Aug 11 12:16:01 2015 GMT
        Subject: OU=Domain Control Validated, CN=*.example.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    ...
                    7d:05:34:ac:7f:e2:c2:13:d3:56:9e:4e:fb:57:e3:
                    ...
                    16:cb
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints: critical
                CA:FALSE
            X509v3 Extended Key Usage: 
                TLS Web Server Authentication, TLS Web Client Authentication
            X509v3 Key Usage: critical
                Digital Signature, Key Encipherment
            X509v3 CRL Distribution Points: 

                Full Name:
                  URI:http://crl.godaddy.com/gds1-112.crl

            X509v3 Certificate Policies: 
                Policy: 2.16.840.1.114413.1.7.23.1
                  CPS: http://certificates.godaddy.com/repository/

            Authority Information Access: 
                OCSP - URI:http://ocsp.godaddy.com/
                CA Issuers - URI:http://certificates.godaddy.com/repository/gd_intermediate.crt

            X509v3 Authority Key Identifier: 
                keyid:FD:AC:xx:xx:xx:xx:xx:xx:xx:CC:E7

            X509v3 Subject Alternative Name: 
                DNS:*.example.com, DNS:example.com
            X509v3 Subject Key Identifier: 
                1C:EB:xx:xx:xx:xx:xx:xx:F0:2F
    Signature Algorithm: sha1WithRSAEncryption
         ...
         43:fd:fb:92:8b:ee:82:0e:63:db:4f:dc:66:46:0f:fb:ac:de:
         ...
         d8:a5:89:eb
-----BEGIN CERTIFICATE-----
...
ODcwHhcNMTQwODIxMTAyNjA2WhcNMTUwODIxMTAyNjA2WjA8MSEwHwYDVQQLExhE
xZHYpYnr
-----END CERTIFICATE-----
    
por dotancohen 05.11.2014 / 16:16

2 respostas

2

Você deve ser capaz de obter as informações corretas usando este comando: (note que você vai querer usar o CSR, e não o CRT)

openssl x509 -in example.com.csr -noout -text

Em direção ao topo da saída, você verá as informações do Assunto.

Exemplo:

[user@server ssl]# openssl req -in example.com.csr -noout -text
Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: C=US, ST=State, L=City, O=Default Company Ltd, CN=example.com/[email protected]
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
    
por 05.11.2014 / 16:26
1

Como foi mencionado anteriormente, a importância da precisão dos detalhes do certificado tende a variar de fornecedor para fornecedor. O processo de verificação também depende do tipo do certificado que você está recebendo. Por exemplo, os certificados "Extended Validation" possuem um processo de aprovação mais rigoroso. De qualquer forma, acho que é uma boa prática tornar as informações tão precisas quanto possível.

Se você ainda tiver o certificado assinado anteriormente, você pode absolutamente usar o comando openssl sugerido pelo @Alex.

Aqui está uma variação: openssl x509 -in example.crt -text -noout | grep -i "Subject:"

Isso deve isolar apenas os detalhes Subject: do certificado e mostrar os atributos. Por exemplo, você poderia obter uma saída como:

 Subject: C=US, ST=California, L=San Francisco, O=Example Company, OU=IT Services, CN=somewebaddress.example.com 
    
por 07.11.2014 / 06:48