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

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

openssl x509 -in certname -text

В одном из сертификатов информация Subject Public Key выглядит следующим образом

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.

1 ответ

Решение

Вы действительно сравниваете результаты одного и того же 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.

Другие вопросы по тегам