OpenSSL中EVP_PKEY_RSA和EVP_PKEY_RSA2之间的区别?

时间:2013-02-27 07:14:19

标签: c cryptography openssl

OpenSSL中的两种密钥类型有什么区别:

1)EVP_PKEY_RSA

2)EVP_PKEY_RSA2

在库中,2被定义为:

#define EVP_PKEY_RSA    NID_rsaEncryption
#define EVP_PKEY_RSA2   NID_rsa

此外,NID定义为:

#define NID_rsaEncryption       6
#define NID_rsa             19

1 个答案:

答案 0 :(得分:2)

两者都是EVP_PKEY_RSA类型,然后涵盖相同的rsa密钥对,但在不同的上下文中使用不同的对象标识符,PKCS1或X509证书。

* crypto / objects / obj_dat.h *

中提取的代码行

表示EVP_PKEY_RSA NID_rsaEncryption:

0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x01,/* [ 38] OBJ_rsaEncryption */    
{"rsaEncryption","rsaEncryption",NID_rsaEncryption,9,&(lvalues[38]),0},

这是PKCS1 RSA加密 1.2.840.113549.1.1.1

表示EVP_PKEY_RSA2 NID_rsa

0x55,0x08,0x01,0x01,                         /* [104] OBJ_rsa */
{"RSA","rsa",NID_rsa,4,&(lvalues[104]),0},

是针对X.500定义算法的rsa加密 id-ea-rsa 2.5.8.1.1