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

openssl Информация об открытом ключе субъекта: Открытый ключ RSA: (1024 бит) vs Открытый ключ: (1024 бит)

У меня есть пара сертификатов, формат которых кажется очень похожим, за исключением одного, что я проверил детали сертификата, используя следующую команду openssl

openssl x509 -in certname -text

В одном из сертификатов информация об открытом ключе субъекта отображается следующим образом

Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)

Другой выглядит как

Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public Key: (1024 bit)

Я создал сертификат, используя следующую команду

openssl genrsa -out my.key 1024
openssl req -new -key my.key -config -out my.req
openssl ca -out my.crt -infiles my.req 

Мой сертификат содержит открытый ключ: (1024 бит), а не «Открытый ключ RSA: (1024 бит)»

Что нужно сделать иначе, чтобы получить в сертификате «Открытый ключ RSA: (1024 бит)»? Мой my.key начинается с

-----BEGIN RSA PRIVATE KEY-----

так что это ключ RSA.

Вы действительно сравниваете вывод одного и того же openssl x509 утилитой даны разные входные файлы? Различный вывод, о котором вы спрашиваете, по-видимому, просто различается между версиями OpenSSL. Например, openssl-0.9.8e имеет такой код:

                    BIO_printf(bp,"%12sRSA Public Key: (%d bit)\n","",
                    BN_num_bits(pkey->pkey.rsa->n));

Однако openssl-1.0.0 имеет немного другой текст:

            if (BIO_printf(bp,"Public-Key: (%d bit)\n", mod_len)
                    <= 0) goto err;

(обратите внимание, что фактический текст Public-Keyне Public Key). Таким образом, вывод одного и того же сертификата может отличаться в зависимости от того, какую версию OpenSSL вы используете для дампа файла, и ваши файлы, содержащие RSA Public Key: (1024 bit) были просто выгружены как текст с использованием старой версии OpenSSL.