Rsa
RSA 和 SHA-256 簽名編碼的初始值
如 RFC 8017 中所述,RSASSA-PKCS1-V1_5 在編碼過程中使用以下字節:
0x30, 0x31, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x04, 0x20
有人知道如何計算這些值嗎?
探勘RFC 8017
9.2. EMSA-PKCS1-v1_5
對於附錄 B.1 中提到的九個雜湊函式,DigestInfo 值的 DER 編碼 T 等於以下:
和
A.2.4。RSASSA-PKCS-v1_5
RSASSA-PKCS1-v1_5 的對象標識符應為
以下之一。
兩者結合在下面;
Hash algorithm OID the DER encoding T of the DigestInfo ------------------------------------------------------------------------------------------ MD2 md2WithRSAEncryption (0x)30 20 30 0c 06 08 2a 86 48 86 f7 0d 02 02 05 00 04 10 || H. MD5 md5WithRSAEncryption (0x)30 20 30 0c 06 08 2a 86 48 86 f7 0d 02 05 05 00 04 10 || H. SHA-1 sha1WithRSAEncryption (0x)30 21 30 09 06 05 2b 0e 03 02 1a 05 00 04 14 || H. SHA-224 sha224WithRSAEncryption (0x)30 2d 30 0d 06 09 60 86 48 01 65 03 04 02 04 05 00 04 1c || H. SHA-256 sha256WithRSAEncryption (0x)30 31 30 0d 06 09 60 86 48 01 65 03 04 02 01 05 00 04 20 || H. SHA-384 sha384WithRSAEncryption (0x)30 41 30 0d 06 09 60 86 48 01 65 03 04 02 02 05 00 04 30 || H. SHA-512 sha512WithRSAEncryption (0x)30 51 30 0d 06 09 60 86 48 01 65 03 04 02 03 05 00 04 40 || H. SHA-512/224 sha512-224WithRSAEncryption (0x)30 2d 30 0d 06 09 60 86 48 01 65 03 04 02 05 05 00 04 1c || H. SHA-512/256 sha512-256WithRSAEncryption (0x)30 31 30 0d 06 09 60 86 48 01 65 03 04 02 06 05 00 04 20 || H.
並且在
B.1。雜湊函式
對象標識符 id-md2、id-md5、id-sha1、id-sha224、id-sha256、id-sha384、id-sha512、id-sha512/224 和 id-sha512/256 標識
各自的雜湊函式:
id-md2 OBJECT IDENTIFIER ::= { iso (1) member-body (2) us (840) rsadsi (113549) digestAlgorithm (2) 2 } id-md5 OBJECT IDENTIFIER ::= { iso (1) member-body (2) us (840) rsadsi (113549) digestAlgorithm (2) 5 } ...
因此,它是上述對象標識符的 DER 編碼。請參閱ASN.1、BER 和 DER (5.9) 子集的外行指南範例