Index: net/data/verify_signed_data_unittest/ecdsa-secp384r1-sha256.pem |
diff --git a/net/data/verify_signed_data_unittest/ecdsa-secp384r1-sha256.pem b/net/data/verify_signed_data_unittest/ecdsa-secp384r1-sha256.pem |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d5c3798c75298efd1ef77acbeddc12965fdb773b |
--- /dev/null |
+++ b/net/data/verify_signed_data_unittest/ecdsa-secp384r1-sha256.pem |
@@ -0,0 +1,84 @@ |
+This test data was produced by creating a self-signed EC cert using OpenSSL, |
+and then extracting the relevant fields. |
+ |
+It uses ECDSA with curve secp384r1 an SHA-256. |
+ |
+(1) Generate self-signed certificate |
+ |
+ openssl ecparam -out ec_key.pem -name secp384r1 -genkey |
+ openssl req -new -key ec_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 (496 in this case) |
+ openssl asn1parse -in cert.pem |
+ |
+ openssl asn1parse -in cert.pem -out alg -noout -strparse 496 |
+ base64 alg |
+ |
+(5) Extract the signature |
+ |
+ # Find the final offset of BIT STRING (508 in this case) |
+ openssl asn1parse -in cert.pem |
+ |
+ openssl asn1parse -in cert.pem -out sig -noout -strparse 508 |
+ base64 sig |
+ |
+ |
+ |
+-----BEGIN PUBLIC KEY----- |
+MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEXFhBi+WKXuxeK9yCbC9jqEchwjCNsQ4RXAsJ07oHZ+Q |
+qz55cNIY5BAhcQ0QYY5jv9BimGL9SuhUuOSuS3Pn9rrsIFGcFsihy4kDr8rq5+7RbN8bV057gW5 |
+emYjLtvDsQ |
+-----END PUBLIC KEY----- |
+ |
+$ openssl asn1parse -i < [PUBLIC KEY] |
+ 0:d=0 hl=2 l= 118 cons: SEQUENCE |
+ 2:d=1 hl=2 l= 16 cons: SEQUENCE |
+ 4:d=2 hl=2 l= 7 prim: OBJECT :id-ecPublicKey |
+ 13:d=2 hl=2 l= 5 prim: OBJECT :secp384r1 |
+ 20:d=1 hl=2 l= 98 prim: BIT STRING |
+ |
+ |
+ |
+-----BEGIN ALGORITHM----- |
+MAoGCCqGSM49BAMC |
+-----END ALGORITHM----- |
+ |
+$ openssl asn1parse -i < [ALGORITHM] |
+ 0:d=0 hl=2 l= 10 cons: SEQUENCE |
+ 2:d=1 hl=2 l= 8 prim: OBJECT :ecdsa-with-SHA256 |
+ |
+ |
+ |
+-----BEGIN DATA----- |
+MIIB6KADAgECAgkAtUVxft6/Vc0wCgYIKoZIzj0EAwIwbzELMAkGA1UEBhMCQVUxEzARBgNVBAg |
+MClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEMMAoGA1UEAw |
+wDYWhhMRowGAYJKoZIhvcNAQkBFgtzdXBAZm9vLmNvbTAeFw0xNTA3MDIwMDM4MTRaFw0xNjA3M |
+DEwMDM4MTRaMG8xCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJ |
+bnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxDDAKBgNVBAMMA2FoYTEaMBgGCSqGSIb3DQEJARYLc3V |
+wQGZvby5jb20wdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARcWEGL5Ype7F4r3IJsL2OoRyHCMI2xDh |
+FcCwnTugdn5CrPnlw0hjkECFxDRBhjmO/0GKYYv1K6FS45K5Lc+f2uuwgUZwWyKHLiQOvyurn7t |
+Fs3xtXTnuBbl6ZiMu28OxCjUDBOMB0GA1UdDgQWBBR6nDgtPalG2JvSlWzdGRCi/Cu7NjAfBgNV |
+HSMEGDAWgBR6nDgtPalG2JvSlWzdGRCi/Cu7NjAMBgNVHRMEBTADAQH/ |
+-----END DATA----- |
+ |
+ |
+ |
+-----BEGIN SIGNATURE----- |
+A2kAMGYCMQCDwMSZVJZ8qThiNTV7VX57m8fdNnNS6cXIjRYoh4SozlYWmWGh87nhmJJCeD16jVM |
+CMQDkroAY8oNi8RxLUor+LozhhVgu24tu6lcp4MP8H3Zy8bBea5HerAd1AqJp3Ox7KDU= |
+-----END SIGNATURE----- |
+ |
+$ openssl asn1parse -i < [SIGNATURE] |
+ 0:d=0 hl=2 l= 105 prim: BIT STRING |