CryptAPI RSA密匙格式

in 简明魔法 with 0 comment

CryptAPI 导出的密匙BLOB数据,BLOB数据类型 + 按照ASN.1编码规范的数据。这里以导出的私钥分析为例:

RSA private key 的ASN.1编码规范如下

ASN.1 structure of RSA private key is defined in PKCS#1 (RFC 3447):

      RSAPrivateKey ::= SEQUENCE {
          version           Version,
          modulus           INTEGER,  -- n
          publicExponent    INTEGER,  -- e
          privateExponent   INTEGER,  -- d
          prime1            INTEGER,  -- p
          prime2            INTEGER,  -- q
          exponent1         INTEGER,  -- d mod (p-1)
          exponent2         INTEGER,  -- d mod (q-1)
          coefficient       INTEGER,  -- (inverse of q) mod p
          otherPrimeInfos   OtherPrimeInfos OPTIONAL
      }

RSA Private Key BLOB 结构如下:

注意 以上字段的编码字节序为 小端序
详细了解移步msdn:http://msdn.microsoft.com/en-us/library/cc250013.aspx
了解结构后,可以自己构建密匙了,也可以和其它密匙结构进行转换,另外附一个不错的rsaTool生成工具http://tools.pediy.com/Cryptography/RSATool/RSATool.1.7.rar

Comments are closed.