我有PEM格式的RSA公钥和私钥(全部为p,q,e,n,d)。我很想知道:
PK11_Sign()
,PK11_Verify()
和PK11_VerifyRecover()
(来自OpenSSL / Mozilla NSS库的 )如何与RSA协同工作?我的问题的背景是:我看到PK11_Sign()在签名期间为我的输入数据添加了一些填充。例如(给定密钥大小为162位):
my input = 31323334353036373839 padded input = 1FFFFFFFFFFFFFFFF0031323334353036373839
我想知道:
openssl rsautl -in input.txt -inkey mykey.pem -out signed.txt
”,将使用哪个填充方案?答案 0 :(得分:3)
PK11_Sign
等使用PKCS#1 v.1.5签名,其中包括您提及的填充。
填充方案是名为EMSA-PKCS1-V1_5-ENCODE的算法的一部分。我不相信它有一个名字,虽然它可能被非正式地称为“PKCS#1 v.1.5签名填充”。它在the PKCS#1 standard。
根据the documentation,openssl rsautl
的默认值是使用PKCS#1 v.1.5签名,这意味着此填充。