| Index: net/data/verify_signed_data_unittest/rsa-pkcs1-sha256.pem
|
| diff --git a/net/data/verify_signed_data_unittest/rsa-pkcs1-sha256.pem b/net/data/verify_signed_data_unittest/rsa-pkcs1-sha256.pem
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8509111ea9b5a1d62c54e9c734d51c494817c2ed
|
| --- /dev/null
|
| +++ b/net/data/verify_signed_data_unittest/rsa-pkcs1-sha256.pem
|
| @@ -0,0 +1,86 @@
|
| +This test data was produced by creating a self-signed EC cert using OpenSSL,
|
| +and then extracting the relevant fields.
|
| +
|
| +It uses RSA PKCS#1 v1.5 with SHA-256 and a 1024-bit key.
|
| +
|
| +(1) Generate self-signed certificate
|
| +
|
| + openssl genrsa -out rsa_key.pem 1024
|
| + openssl req -new -key rsa_key.pem -x509 -nodes -days 365 -out cert.pem
|
| +
|
| +(2) Extract public key
|
| +
|
| + openssl x509 -in cert.pem -pubkey -noout > pubkey.pem
|
| + cat pubkey.pem
|
| +
|
| +(3) Extract signed data (tbsCertificate)
|
| +
|
| + openssl asn1parse -in cert.pem -out tbs -noout -strparse 4
|
| + base64 tbs
|
| +
|
| +(4) Extract signature algorithm
|
| +
|
| + # Find the offset of the signature algorithm near the end (491 in this case)
|
| + openssl asn1parse -in cert.pem
|
| +
|
| + openssl asn1parse -in cert.pem -out alg -noout -strparse 491
|
| + base64 alg
|
| +
|
| +(5) Extract the signature
|
| +
|
| + # Find the final offset of BIT STRING (506 in this case)
|
| + openssl asn1parse -in cert.pem
|
| +
|
| + openssl asn1parse -in cert.pem -out sig -noout -strparse 506
|
| + base64 sig
|
| +
|
| +
|
| +
|
| +-----BEGIN PUBLIC KEY-----
|
| +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqR+B2Mj1irNp1JnY2zQIQRQPz7ybs6mUjHT3
|
| +hf5APyaig2u6fBPThqxssgg0YviqIj/70hVK/JXcqP1zgR5AhsA0agnwAjfB/ow4EH+3HEYV52q
|
| +pxN98pUxC+1l2hgVtn8xCS/JGyjK+6dv+lZw3ixJoX2RjVtdJ4/cn318EhhQIDAQAB
|
| +-----END PUBLIC KEY-----
|
| +
|
| +$ openssl asn1parse -i < [PUBLIC KEY]
|
| + 0:d=0 hl=3 l= 159 cons: SEQUENCE
|
| + 3:d=1 hl=2 l= 13 cons: SEQUENCE
|
| + 5:d=2 hl=2 l= 9 prim: OBJECT :rsaEncryption
|
| + 16:d=2 hl=2 l= 0 prim: NULL
|
| + 18:d=1 hl=3 l= 141 prim: BIT STRING
|
| +
|
| +
|
| +
|
| +-----BEGIN ALGORITHM-----
|
| +MA0GCSqGSIb3DQEBCwUA
|
| +-----END ALGORITHM-----
|
| +
|
| +$ openssl asn1parse -i < [ALGORITHM]
|
| + 0:d=0 hl=2 l= 13 cons: SEQUENCE
|
| + 2:d=1 hl=2 l= 9 prim: OBJECT :sha256WithRSAEncryption
|
| + 13:d=1 hl=2 l= 0 prim: NULL
|
| +
|
| +
|
| +
|
| +-----BEGIN DATA-----
|
| +MIIB46ADAgECAgkA3l4tFOVii0UwDQYJKoZIhvcNAQELBQAwVjELMAkGA1UEBhMCQVUxEzARBgN
|
| +VBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEPMA0GA1
|
| +UEAwwGTXkga2V5MB4XDTE1MDcwMjE3MDYzOVoXDTE2MDcwMTE3MDYzOVowVjELMAkGA1UEBhMCQ
|
| +VUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0
|
| +ZDEPMA0GA1UEAwwGTXkga2V5MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqR+B2Mj1irNp
|
| +1JnY2zQIQRQPz7ybs6mUjHT3hf5APyaig2u6fBPThqxssgg0YviqIj/70hVK/JXcqP1zgR5AhsA
|
| +0agnwAjfB/ow4EH+3HEYV52qpxN98pUxC+1l2hgVtn8xCS/JGyjK+6dv+lZw3ixJoX2RjVtdJ4/
|
| +cn318EhhQIDAQABo1AwTjAdBgNVHQ4EFgQUzQBVKTEknyLndWd2HTsBdTKvyikwHwYDVR0jBBgw
|
| +FoAUzQBVKTEknyLndWd2HTsBdTKvyikwDAYDVR0TBAUwAwEB/w==
|
| +-----END DATA-----
|
| +
|
| +
|
| +
|
| +-----BEGIN SIGNATURE-----
|
| +A4GBADrHSmFSJw/Gv7hs5PNzpaJwAri/sitarIZfzN/SjR+n8L8yeTEoiDb1+BkxlFvXvPHTaOK
|
| +oO3WlslNNOxh1W5/JkYYGOUkCcyIjnln6qS560imcr3VNjomT/M8M2Iss+rJiKau1TRuaP7H8i6
|
| ++Gqf3saGdr8/LnvFAdNQvkalQt
|
| +-----END SIGNATURE-----
|
| +
|
| +$ openssl asn1parse -i < [SIGNATURE]
|
| + 0:d=0 hl=3 l= 129 prim: BIT STRING
|
|
|