Назад | Перейти на главную страницу

Восстановить организационную информацию из сертификата / ключа SSL

Я администрирую сервер RHEL 6.6, который унаследовал от администратора, с которым компания больше не контактирует. Мне нужно заменить сертификат SSL, для чего требуется некоторая информация о физической организации:

$ 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 []:foo@example.com

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

Учитывая существующий сертификат или ключ SSL, как я могу восстановить используемую информацию организации? Я не уверен, насколько важно, чтобы эта информация соответствовала тому, что было раньше, но я бы предпочел перестраховаться, чем сожалеть. К сожалению, поскольку это онлайн-бизнес, нет единого физического адреса, который можно было бы просто использовать, и бизнес разделен между четырьмя владельцами, ни один из которых не знает, чья информация была в исходном сертификате.

Может быть, это действительно не имеет значения, если я просто отвечу на все «foobar», но я не могу этого предположить.

Я пробовал использовать openssl инструмент для получения информации, но ничего интересного не обнаружено:

$ 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-----

Вы должны иметь возможность получить правильную информацию с помощью этой команды: (обратите внимание, что вы захотите использовать CSR, а не CRT)

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

Вверху вывода вы увидите информацию о теме.

Пример:

[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/emailAddress=email@email.comm
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)

Как упоминалось ранее, важность точности деталей сертификата имеет тенденцию варьироваться от поставщика к поставщику. Процесс проверки также зависит от тип сертификата, который вы получаете. Например, сертификаты «расширенной проверки» проходят более строгий процесс утверждения. В любом случае, я считаю, что это хорошая практика - делать информацию максимально точной.

Если у вас все еще есть ранее подписанный сертификат, вы можете использовать предложенную команду openssl @Alex.

Вот его вариант: openssl x509 -in example.crt -text -noout | grep -i "Subject:"

Это должно изолировать только Subject: детали сертификата и показать атрибуты. Например, вы можете получить такой результат:

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