RSA私钥文件(PEM)解析

本文详细介绍了RSA私钥文件(PEM格式)的解析和组装过程,包括了PEM文件的TLV结构、数据域的组成及其意义,并提供了具体的实例数据和组装步骤。通过理解这些内容,可以更好地理解和操作RSA密钥对。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考链接:OPENSSL中RSA私钥文件(PEM格式)解析

在PKCS#1 RSA算法标准中定义RSA私钥语法

RSAPrivateKey ::= SEQUENCE {
version Version, //版本
modulus INTEGER, // RSA合数模 n
publicExponent INTEGER, //RSA公开幂 e
privateExponent INTEGER, //RSA私有幂 d
prime1 INTEGER, //n的素数因子p
prime2 INTEGER, //n的素数因子q
exponent1 INTEGER, //值 d mod (p-1)
exponent2 INTEGER, //值 d mod (q-1)
coefficient INTEGER, //CRT系数 (inverse of q) mod p
otherPrimeInfos OtherPrimeInfos OPTIONAL
}

otherPrimeInfos 按顺序包含了其它素数r3, …, ru的信息。如果version是0 ,它应该被忽略;而如果version是1,它应该至少包含OtherPrimeInfo的一个实例。
OtherPrimeInfos ::= SEQUENCE SIZE(1…MAX) OF OtherPrimeInfo
OtherPrimeInfo ::= SEQUENCE {
prime INTEGER, //ri – n的一个素数因子ri ,其中i ≥ 3
exponent INTEGER, //di – di = d mod (ri − 1)
coefficient INTEGER //ti – CRT系数 ti = (r1 · r2 · … · ri–1)–1 mod ri
}

RSAPrivateKey 和OtherPrimeInfo各域的意义,如注释所示。

本文讲述适用范围:已知各域值,组装RSA私钥文件,即PEM文件。

PEM文件组成是TLV结构。

一、数据实例,各域值如下:

  1. version:
    00
  2. moudlus:
    c1f7f7196d9ef4b97abede2d5322d76c17fdf9592c39511027268293a14603b6
    5d5425c99cfb5194d37b73487d26e31edf35cfe1e7f58366b5adb35d18f8cdb1
    401264ed35a3e26dc131c099eca45ac23dbc2e1a0d00f6defd6428a6431429b2
    744943f2e1dffe00bbd1dcf22ec7c0dde553659763c8c11db883ccb6de0de91d
    5d2bcffe57e368bf5a1799bbd6f978706793dc7aa710c1cf00725827df6651e2
    15ca4bc83509c89bb257479a2833fa972f4344799c37f8217b704c9e5ae2e09d
    1d5941ddd4caf71d12a823fdf421930df034220bd8ee37fc8b0543f1f2f49ade
    6a7ffcc7ab9d1edab4b07b7f33a72f0c660ea3c46fd7c1243ed956244e506463
  3. publicExponent:
    010001
  4. privateExponent:
    a6c362cd98e2b5f
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值