1This test data was produced by creating a self-signed EC cert using OpenSSL,
2and then extracting the relevant fields.
3
4It uses RSA PKCS#1 v1.5 with SHA-256 and a 1024-bit key.
5
6(1) Generate self-signed certificate
7
8  openssl genrsa -out rsa_key.pem 1024
9  openssl req -new -key rsa_key.pem -x509 -nodes -days 365 -out cert.pem
10
11(2) Extract public key
12
13  openssl x509 -in cert.pem -pubkey -noout > pubkey.pem
14  cat pubkey.pem
15
16(3) Extract signed data (tbsCertificate)
17
18  openssl asn1parse -in cert.pem -out tbs -noout -strparse 4
19  base64 tbs
20
21(4) Extract signature algorithm
22
23  # Find the offset of the signature algorithm near the end (491 in this case)
24  openssl asn1parse -in cert.pem
25
26  openssl asn1parse -in cert.pem -out alg -noout -strparse 491
27  base64 alg
28
29(5) Extract the signature
30
31  # Find the final offset of BIT STRING (506 in this case)
32  openssl asn1parse -in cert.pem
33
34  openssl asn1parse -in cert.pem -out sig -noout -strparse 506
35  base64 sig
36
37
38$ openssl asn1parse -i < [PUBLIC KEY]
39    0:d=0  hl=3 l= 159 cons: SEQUENCE
40    3:d=1  hl=2 l=  13 cons:  SEQUENCE
41    5:d=2  hl=2 l=   9 prim:   OBJECT            :rsaEncryption
42   16:d=2  hl=2 l=   0 prim:   NULL
43   18:d=1  hl=3 l= 141 prim:  BIT STRING
44-----BEGIN PUBLIC KEY-----
45MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqR+B2Mj1irNp1JnY2zQIQRQPz7ybs6mUjHT3
46hf5APyaig2u6fBPThqxssgg0YviqIj/70hVK/JXcqP1zgR5AhsA0agnwAjfB/ow4EH+3HEYV52q
47pxN98pUxC+1l2hgVtn8xCS/JGyjK+6dv+lZw3ixJoX2RjVtdJ4/cn318EhhQIDAQAB
48-----END PUBLIC KEY-----
49
50$ openssl asn1parse -i < [ALGORITHM]
51    0:d=0  hl=2 l=  13 cons: SEQUENCE
52    2:d=1  hl=2 l=   9 prim:  OBJECT            :sha256WithRSAEncryption
53   13:d=1  hl=2 l=   0 prim:  NULL
54-----BEGIN ALGORITHM-----
55MA0GCSqGSIb3DQEBCwUA
56-----END ALGORITHM-----
57
58-----BEGIN DATA-----
59MIIB46ADAgECAgkA3l4tFOVii0UwDQYJKoZIhvcNAQELBQAwVjELMAkGA1UEBhMCQVUxEzARBgN
60VBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEPMA0GA1
61UEAwwGTXkga2V5MB4XDTE1MDcwMjE3MDYzOVoXDTE2MDcwMTE3MDYzOVowVjELMAkGA1UEBhMCQ
62VUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0
63ZDEPMA0GA1UEAwwGTXkga2V5MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqR+B2Mj1irNp
641JnY2zQIQRQPz7ybs6mUjHT3hf5APyaig2u6fBPThqxssgg0YviqIj/70hVK/JXcqP1zgR5AhsA
650agnwAjfB/ow4EH+3HEYV52qpxN98pUxC+1l2hgVtn8xCS/JGyjK+6dv+lZw3ixJoX2RjVtdJ4/
66cn318EhhQIDAQABo1AwTjAdBgNVHQ4EFgQUzQBVKTEknyLndWd2HTsBdTKvyikwHwYDVR0jBBgw
67FoAUzQBVKTEknyLndWd2HTsBdTKvyikwDAYDVR0TBAUwAwEB/w==
68-----END DATA-----
69
70$ openssl asn1parse -i < [SIGNATURE]
71    0:d=0  hl=3 l= 129 prim: BIT STRING
72-----BEGIN SIGNATURE-----
73A4GBADrHSmFSJw/Gv7hs5PNzpaJwAri/sitarIZfzN/SjR+n8L8yeTEoiDb1+BkxlFvXvPHTaOK
74oO3WlslNNOxh1W5/JkYYGOUkCcyIjnln6qS560imcr3VNjomT/M8M2Iss+rJiKau1TRuaP7H8i6
75+Gqf3saGdr8/LnvFAdNQvkalQt
76-----END SIGNATURE-----
77