我有几个证书的格式似乎非常相似,除了一件事我已经检查了证书的细节,使用下面的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实用程序输出不同的input文件的输出? 你所询问的不同输出在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)的文件RSA Public Key: (1024 bit)只是使用旧版本的OpenSSL转储为文本。