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
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
两者都是 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 定义的算法id-ea-rsa 2.5.8.1.1 的 rsa 加密