Regutil
Detta är implementerat (2011-04-18) och har testats på riktigt en gång mot Swedbank. Det finns säkert en del buggar, så det kanske inte fungerar rakt av med andra banker (eller ens på Swedbank).
Hämtning av e-legitimationer sker, som normalt vid skapande av certifikat, i två steg
Certifikatförfrågan[redigera]
Den base64 encodade strängen man får ut från första steget (se t.ex. [[1]]) är ett Cryptographic Message Syntax (PKCS#7) signedData meddelande som kapslar in de två certifikatbegäran. Meddelandet saknar signaturdel, men är väntat då det inte finns något certifikat att signera med ännu och certifikatbegäran i sig är signerad med privata nyckeln. PKCS#7 signedData är ett inkapslingsformat med 0 eller fler signaturer så det är inget konstigt.
OpenSSL stödjer inte denna form av PKCS#7 meddelanden för CSR, men du kan avkoda PKCS#7 meddelandet genom
openssl asn1parse -inform der -in <filen> -dump -i
Första cert req går att få ut genom
openssl asn1parse -inform der -in <der-fil> -dump -i -strparse 66 -out cert1.der
och kan sedan visas med
openssl req -text -inform der -in cert1.der
Samma gäller för det andra certificatet med -strparse 552
Certifikathämtning[redigera]
Efter att certifikatförfrågan har skickats, skickar servern tillbaka certifikaten. Eftersom ett BankID alltid/oftast innehåller två certifikat så skickar servern också två anrop till metoden StoreCertificates('p7c', 'base64-kodat certifikat')
. Se exemplet nedan (**A**
och **B**
innebär att raden finns med i det första respektive det andra certifikatet):
0 3440: SEQUENCE {
4 9: . OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2)
: . . (PKCS #7)
15 3425: . [0] {
19 3421: . . SEQUENCE {
23 1: . . . INTEGER 1
26 14: . . . SET {
28 12: . . . . SEQUENCE {
30 8: . . . . . OBJECT IDENTIFIER md5 (1 2 840 113549 2 5)
: . . . . . . (RSADSI digestAlgorithm)
40 0: . . . . . NULL
: . . . . . }
: . . . . }
42 34: . . . SEQUENCE {
44 9: . . . . OBJECT IDENTIFIER data (1 2 840 113549 1 7 1)
: . . . . . (PKCS #7)
55 21: . . . . [0] {
57 19: . . . . . OCTET STRING 'intentionally empty'
: . . . . . }
: . . . . }
78 2984: . . . [0] {
82 984: . . . . SEQUENCE {
86 704: . . . . . SEQUENCE {
90 3: . . . . . . [0] {
92 1: . . . . . . . INTEGER 2
: . . . . . . . }
95 17: . . . . . . INTEGER
: . . . . . . . 00 CC... (17 byte)
114 13: . . . . . . SEQUENCE {
116 9: . . . . . . . OBJECT IDENTIFIER
: . . . . . . . . sha1withRSAEncryption (1 2 840 113549 1 1 5)
: . . . . . . . . (PKCS #1)
127 0: . . . . . . . NULL
: . . . . . . . }
129 103: . . . . . . SEQUENCE {
131 11: . . . . . . . SET {
133 9: . . . . . . . . SEQUENCE {
135 3: . . . . . . . . . OBJECT IDENTIFIER countryName (2 5 4 6)
: . . . . . . . . . . (X.520 DN component)
140 2: . . . . . . . . . PrintableString 'SE'
: . . . . . . . . . }
: . . . . . . . . }
144 27: . . . . . . . SET {
146 25: . . . . . . . . SEQUENCE {
148 3: . . . . . . . . . OBJECT IDENTIFIER organizationName (2 5 4 10)
: . . . . . . . . . . (X.520 DN component)
153 18: . . . . . . . . . UTF8String 'Swedbank AB (publ)'
: . . . . . . . . . }
: . . . . . . . . }
173 21: . . . . . . . SET {
175 19: . . . . . . . . SEQUENCE {
177 3: . . . . . . . . . OBJECT IDENTIFIER serialNumber (2 5 4 5)
: . . . . . . . . . . (X.520 DN component)
182 12: . . . . . . . . . PrintableString '165020177753'
: . . . . . . . . . }
: . . . . . . . . }
196 36: . . . . . . . SET {
198 34: . . . . . . . . SEQUENCE {
200 3: . . . . . . . . . OBJECT IDENTIFIER commonName (2 5 4 3)
: . . . . . . . . . . (X.520 DN component)
205 27: . . . . . . . . . UTF8String 'Swedbank Root CA for BankID'
: . . . . . . . . . }
: . . . . . . . . }
: . . . . . . . }
234 30: . . . . . . SEQUENCE {
236 13: . . . . . . . UTCTime 09/11/2006 09:00:17 GMT
251 13: . . . . . . . UTCTime 01/06/2019 21:35:41 GMT
: . . . . . . . }
266 110: . . . . . . SEQUENCE {
268 11: . . . . . . . SET {
270 9: . . . . . . . . SEQUENCE {
272 3: . . . . . . . . . OBJECT IDENTIFIER countryName (2 5 4 6)
: . . . . . . . . . . (X.520 DN component)
277 2: . . . . . . . . . PrintableString 'SE'
: . . . . . . . . . }
: . . . . . . . . }
281 27: . . . . . . . SET {
283 25: . . . . . . . . SEQUENCE {
285 3: . . . . . . . . . OBJECT IDENTIFIER organizationName (2 5 4 10)
: . . . . . . . . . . (X.520 DN component)
290 18: . . . . . . . . . UTF8String 'Swedbank AB (publ)'
: . . . . . . . . . }
: . . . . . . . . }
310 21: . . . . . . . SET {
312 19: . . . . . . . . SEQUENCE {
314 3: . . . . . . . . . OBJECT IDENTIFIER serialNumber (2 5 4 5)
: . . . . . . . . . . (X.520 DN component)
319 12: . . . . . . . . . PrintableString '165020177753'
: . . . . . . . . . }
: . . . . . . . . }
333 43: . . . . . . . SET {
335 41: . . . . . . . . SEQUENCE {
337 3: . . . . . . . . . OBJECT IDENTIFIER commonName (2 5 4 3)
: . . . . . . . . . . (X.520 DN component)
342 34: . . . . . . . . . UTF8String 'Swedbank e-Customer CA1 for BankID'
: . . . . . . . . . }
: . . . . . . . . }
: . . . . . . . }
378 290: . . . . . . SEQUENCE {
382 13: . . . . . . . SEQUENCE {
384 9: . . . . . . . . OBJECT IDENTIFIER
: . . . . . . . . . rsaEncryption (1 2 840 113549 1 1 1)
: . . . . . . . . . (PKCS #1)
395 0: . . . . . . . . NULL
: . . . . . . . . }
397 271: . . . . . . . BIT STRING, encapsulates {
402 266: . . . . . . . . SEQUENCE {
406 257: . . . . . . . . . INTEGER
: . . . . . . . . . 00 97... (257 byte)
667 3: . . . . . . . . . INTEGER 65537
: . . . . . . . . . }
: . . . . . . . . }
: . . . . . . . }
672 120: . . . . . . [3] {
674 118: . . . . . . . SEQUENCE {
676 15: . . . . . . . . SEQUENCE {
678 3: . . . . . . . . . OBJECT IDENTIFIER basicConstraints (2 5 29 19)
: . . . . . . . . . . (X.509 extension)
683 1: . . . . . . . . . BOOLEAN TRUE
686 5: . . . . . . . . . OCTET STRING, encapsulates {
688 3: . . . . . . . . . . SEQUENCE {
690 1: . . . . . . . . . . . BOOLEAN TRUE
: . . . . . . . . . . . }
: . . . . . . . . . . }
: . . . . . . . . . }
693 19: . . . . . . . . SEQUENCE {
695 3: . . . . . . . . . OBJECT IDENTIFIER certificatePolicies (2 5 29 32)
: . . . . . . . . . . (X.509 extension)
700 12: . . . . . . . . . OCTET STRING, encapsulates {
702 10: . . . . . . . . . . SEQUENCE {
704 8: . . . . . . . . . . . SEQUENCE {
706 6: . . . . . . . . . . . . OBJECT IDENTIFIER '1 2 752 78 1 1'
: . . . . . . . . . . . . }
: . . . . . . . . . . . }
: . . . . . . . . . . }
: . . . . . . . . . }
714 14: . . . . . . . . SEQUENCE {
716 3: . . . . . . . . . OBJECT IDENTIFIER keyUsage (2 5 29 15)
: . . . . . . . . . . (X.509 extension)
721 1: . . . . . . . . . BOOLEAN TRUE
724 4: . . . . . . . . . OCTET STRING, encapsulates {
726 2: . . . . . . . . . . BIT STRING 1 unused bit
: . . . . . . . . . . . '1100000'B
: . . . . . . . . . . }
: . . . . . . . . . }
730 31: . . . . . . . . SEQUENCE {
732 3: . . . . . . . . . OBJECT IDENTIFIER
: . . . . . . . . . . authorityKeyIdentifier (2 5 29 35)
: . . . . . . . . . . (X.509 extension)
737 24: . . . . . . . . . OCTET STRING, encapsulates {
739 22: . . . . . . . . . . SEQUENCE {
741 20: . . . . . . . . . . . [0]
: . . . . . . . . . B0 BF... (20 byte)
: . . . . . . . . . . . }
: . . . . . . . . . . }
: . . . . . . . . . }
763 29: . . . . . . . . SEQUENCE {
765 3: . . . . . . . . . OBJECT IDENTIFIER subjectKeyIdentifier (2 5 29 14)
: . . . . . . . . . . (X.509 extension)
770 22: . . . . . . . . . OCTET STRING, encapsulates {
772 20: . . . . . . . . . . OCTET STRING
: . . . . . . . . . 03 70... (20 byte)
: . . . . . . . . . . }
: . . . . . . . . . }
: . . . . . . . . }
: . . . . . . . }
: . . . . . . }
794 13: . . . . . SEQUENCE {
796 9: . . . . . . OBJECT IDENTIFIER
: . . . . . . . sha1withRSAEncryption (1 2 840 113549 1 1 5)
: . . . . . . . (PKCS #1)
807 0: . . . . . . NULL
: . . . . . . }
809 257: . . . . . BIT STRING
: . . . . . . 4E 87... (256 byte)
: . . . . . }
1070 990: . . . . SEQUENCE {
1074 710: . . . . . SEQUENCE {
1078 3: . . . . . . [0] {
1080 1: . . . . . . . INTEGER 2
: . . . . . . . }
1083 16: . . . . . . INTEGER
: . . . . . . . 65 A7... (16 byte)
1101 13: . . . . . . SEQUENCE {
1103 9: . . . . . . . OBJECT IDENTIFIER
: . . . . . . . . sha1withRSAEncryption (1 2 840 113549 1 1 5)
: . . . . . . . . (PKCS #1)
1114 0: . . . . . . . NULL
: . . . . . . . }
1116 117: . . . . . . SEQUENCE {
1118 36: . . . . . . . SET {
1120 34: . . . . . . . . SEQUENCE {
1122 3: . . . . . . . . . OBJECT IDENTIFIER organizationName (2 5 4 10)
: . . . . . . . . . . (X.520 DN component)
1127 27: . . . . . . . . . UTF8String 'Finansiell ID-Teknik BID AB'
: . . . . . . . . . }
: . . . . . . . . }
1156 31: . . . . . . . SET {
1158 29: . . . . . . . . SEQUENCE {
1160 3: . . . . . . . . . OBJECT IDENTIFIER organizationalUnitName (2 5 4 11)
: . . . . . . . . . . (X.520 DN component)
1165 22: . . . . . . . . . UTF8String 'BankID Member Banks CA'
: . . . . . . . . . }
: . . . . . . . . }
1189 44: . . . . . . . SET {
1191 42: . . . . . . . . SEQUENCE {
1193 3: . . . . . . . . . OBJECT IDENTIFIER commonName (2 5 4 3)
: . . . . . . . . . . (X.520 DN component)
1198 35: . . . . . . . . . UTF8String 'BankID Root Certification Authority'
: . . . . . . . . . }
: . . . . . . . . }
: . . . . . . . }
1235 30: . . . . . . SEQUENCE {
1237 13: . . . . . . . UTCTime 07/11/2006 08:29:53 GMT
1252 13: . . . . . . . UTCTime 01/09/2019 22:04:41 GMT
: . . . . . . . }
1267 103: . . . . . . SEQUENCE {
1269 11: . . . . . . . SET {
1271 9: . . . . . . . . SEQUENCE {
1273 3: . . . . . . . . . OBJECT IDENTIFIER countryName (2 5 4 6)
: . . . . . . . . . . (X.520 DN component)
1278 2: . . . . . . . . . PrintableString 'SE'
: . . . . . . . . . }
: . . . . . . . . }
1282 27: . . . . . . . SET {
1284 25: . . . . . . . . SEQUENCE {
1286 3: . . . . . . . . . OBJECT IDENTIFIER organizationName (2 5 4 10)
: . . . . . . . . . . (X.520 DN component)
1291 18: . . . . . . . . . UTF8String 'Swedbank AB (publ)'
: . . . . . . . . . }
: . . . . . . . . }
1311 21: . . . . . . . SET {
1313 19: . . . . . . . . SEQUENCE {
1315 3: . . . . . . . . . OBJECT IDENTIFIER serialNumber (2 5 4 5)
: . . . . . . . . . . (X.520 DN component)
1320 12: . . . . . . . . . PrintableString '165020177753'
: . . . . . . . . . }
: . . . . . . . . }
1334 36: . . . . . . . SET {
1336 34: . . . . . . . . SEQUENCE {
1338 3: . . . . . . . . . OBJECT IDENTIFIER commonName (2 5 4 3)
: . . . . . . . . . . (X.520 DN component)
1343 27: . . . . . . . . . UTF8String 'Swedbank Root CA for BankID'
: . . . . . . . . . }
: . . . . . . . . }
: . . . . . . . }
1372 290: . . . . . . SEQUENCE {
1376 13: . . . . . . . SEQUENCE {
1378 9: . . . . . . . . OBJECT IDENTIFIER
: . . . . . . . . . rsaEncryption (1 2 840 113549 1 1 1)
: . . . . . . . . . (PKCS #1)
1389 0: . . . . . . . . NULL
: . . . . . . . . }
1391 271: . . . . . . . BIT STRING, encapsulates {
1396 266: . . . . . . . . SEQUENCE {
1400 257: . . . . . . . . . INTEGER
: . . . . . . . . . 00 94... (257 byte)
1661 3: . . . . . . . . . INTEGER 65537
: . . . . . . . . . }
: . . . . . . . . }
: . . . . . . . }
1666 120: . . . . . . [3] {
1668 118: . . . . . . . SEQUENCE {
1670 15: . . . . . . . . SEQUENCE {
1672 3: . . . . . . . . . OBJECT IDENTIFIER basicConstraints (2 5 29 19)
: . . . . . . . . . . (X.509 extension)
1677 1: . . . . . . . . . BOOLEAN TRUE
1680 5: . . . . . . . . . OCTET STRING, encapsulates {
1682 3: . . . . . . . . . . SEQUENCE {
1684 1: . . . . . . . . . . . BOOLEAN TRUE
: . . . . . . . . . . . }
: . . . . . . . . . . }
: . . . . . . . . . }
1687 19: . . . . . . . . SEQUENCE {
1689 3: . . . . . . . . . OBJECT IDENTIFIER certificatePolicies (2 5 29 32)
: . . . . . . . . . . (X.509 extension)
1694 12: . . . . . . . . . OCTET STRING, encapsulates {
1696 10: . . . . . . . . . . SEQUENCE {
1698 8: . . . . . . . . . . . SEQUENCE {
1700 6: . . . . . . . . . . . . OBJECT IDENTIFIER '1 2 752 78 1 1'
: . . . . . . . . . . . . }
: . . . . . . . . . . . }
: . . . . . . . . . . }
: . . . . . . . . . }
1708 14: . . . . . . . . SEQUENCE {
1710 3: . . . . . . . . . OBJECT IDENTIFIER keyUsage (2 5 29 15)
: . . . . . . . . . . (X.509 extension)
1715 1: . . . . . . . . . BOOLEAN TRUE
1718 4: . . . . . . . . . OCTET STRING, encapsulates {
1720 2: . . . . . . . . . . BIT STRING 1 unused bit
: . . . . . . . . . . . '1100000'B
: . . . . . . . . . . }
: . . . . . . . . . }
1724 31: . . . . . . . . SEQUENCE {
1726 3: . . . . . . . . . OBJECT IDENTIFIER
: . . . . . . . . . . authorityKeyIdentifier (2 5 29 35)
: . . . . . . . . . . (X.509 extension)
1731 24: . . . . . . . . . OCTET STRING, encapsulates {
1733 22: . . . . . . . . . . SEQUENCE {
1735 20: . . . . . . . . . . . [0]
: . . . . . . . . . 24 61... (20 byte)
: . . . . . . . . . . . }
: . . . . . . . . . . }
: . . . . . . . . . }
1757 29: . . . . . . . . SEQUENCE {
1759 3: . . . . . . . . . OBJECT IDENTIFIER subjectKeyIdentifier (2 5 29 14)
: . . . . . . . . . . (X.509 extension)
1764 22: . . . . . . . . . OCTET STRING, encapsulates {
1766 20: . . . . . . . . . . OCTET STRING
: . . . . . . . . . B0 BF... (20 byte)
: . . . . . . . . . . }
: . . . . . . . . . }
: . . . . . . . . }
: . . . . . . . }
: . . . . . . }
1788 13: . . . . . SEQUENCE {
1790 9: . . . . . . OBJECT IDENTIFIER
: . . . . . . . sha1withRSAEncryption (1 2 840 113549 1 1 5)
: . . . . . . . (PKCS #1)
1801 0: . . . . . . NULL
: . . . . . . }
1803 257: . . . . . BIT STRING
: . . . . . . 32 CF... (256 byte)
: . . . . . }
2064 998: . . . . SEQUENCE {
2068 718: . . . . . SEQUENCE {
2072 3: . . . . . . [0] {
2074 1: . . . . . . . INTEGER 2
: . . . . . . . }
**A**2077 8: . . . . . . INTEGER 6A B9... (8 byte)
**B**2077 8: . . . . . . INTEGER 6A 16... (8 byte)
2087 13: . . . . . . SEQUENCE {
2089 9: . . . . . . . OBJECT IDENTIFIER
: . . . . . . . . sha1withRSAEncryption (1 2 840 113549 1 1 5)
: . . . . . . . . (PKCS #1)
2100 0: . . . . . . . NULL
: . . . . . . . }
2102 110: . . . . . . SEQUENCE {
2104 11: . . . . . . . SET {
2106 9: . . . . . . . . SEQUENCE {
2108 3: . . . . . . . . . OBJECT IDENTIFIER countryName (2 5 4 6)
: . . . . . . . . . . (X.520 DN component)
2113 2: . . . . . . . . . PrintableString 'SE'
: . . . . . . . . . }
: . . . . . . . . }
2117 27: . . . . . . . SET {
2119 25: . . . . . . . . SEQUENCE {
2121 3: . . . . . . . . . OBJECT IDENTIFIER organizationName (2 5 4 10)
: . . . . . . . . . . (X.520 DN component)
2126 18: . . . . . . . . . UTF8String 'Swedbank AB (publ)'
: . . . . . . . . . }
: . . . . . . . . }
2146 21: . . . . . . . SET {
2148 19: . . . . . . . . SEQUENCE {
2150 3: . . . . . . . . . OBJECT IDENTIFIER serialNumber (2 5 4 5)
: . . . . . . . . . . (X.520 DN component)
2155 12: . . . . . . . . . PrintableString '165020177753'
: . . . . . . . . . }
: . . . . . . . . }
2169 43: . . . . . . . SET {
2171 41: . . . . . . . . SEQUENCE {
2173 3: . . . . . . . . . OBJECT IDENTIFIER commonName (2 5 4 3)
: . . . . . . . . . . (X.520 DN component)
2178 34: . . . . . . . . . UTF8String 'Swedbank e-Customer CA1 for BankID'
: . . . . . . . . . }
: . . . . . . . . }
: . . . . . . . }
2214 30: . . . . . . SEQUENCE {
2216 13: . . . . . . . UTCTime 14/08/2010 22:00:00 GMT (c:a en dag innan legitimationen hämtades)
2231 13: . . . . . . . UTCTime 15/08/2011 21:59:59 GMT
: . . . . . . . }
2246 215: . . . . . . SEQUENCE {
2249 11: . . . . . . . SET {
2251 9: . . . . . . . . SEQUENCE {
2253 3: . . . . . . . . . OBJECT IDENTIFIER countryName (2 5 4 6)
: . . . . . . . . . . (X.520 DN component)
2258 2: . . . . . . . . . PrintableString 'SE'
: . . . . . . . . . }
: . . . . . . . . }
2262 27: . . . . . . . SET {
2264 25: . . . . . . . . SEQUENCE {
2266 3: . . . . . . . . . OBJECT IDENTIFIER organizationName (2 5 4 10)
: . . . . . . . . . . (X.520 DN component)
2271 18: . . . . . . . . . UTF8String 'Swedbank AB (publ)'
: . . . . . . . . . }
: . . . . . . . . }
2291 22: . . . . . . . SET {
2293 20: . . . . . . . . SEQUENCE {
2295 3: . . . . . . . . . OBJECT IDENTIFIER surname (2 5 4 4)
: . . . . . . . . . . (X.520 DN component)
2300 13: . . . . . . . . . UTF8String 'EFTERNAMN1 EFTERNAMN2'
: . . . . . . . . . }
: . . . . . . . . }
2315 26: . . . . . . . SET {
2317 24: . . . . . . . . SEQUENCE {
2319 3: . . . . . . . . . OBJECT IDENTIFIER givenName (2 5 4 42)
: . . . . . . . . . . (X.520 DN component)
2324 17: . . . . . . . . . UTF8String 'NAMN MELLANNAMN'
: . . . . . . . . . }
: . . . . . . . . }
2343 21: . . . . . . . SET {
2345 19: . . . . . . . . SEQUENCE {
2347 3: . . . . . . . . . OBJECT IDENTIFIER serialNumber (2 5 4 5)
: . . . . . . . . . . (X.520 DN component)
2352 12: . . . . . . . . . PrintableString 'YYYYMMDDNNNN'
: . . . . . . . . . }
: . . . . . . . . }
2366 54: . . . . . . . SET {
2368 52: . . . . . . . . SEQUENCE {
2370 3: . . . . . . . . . OBJECT IDENTIFIER name (2 5 4 41)
: . . . . . . . . . . (X.520 DN component)
2375 45: . . . . . . . . . UTF8String
: . . . . . . . . . '(100815 22.04) FÖRSTA_FÖRNAMN SISTA_EFTERNAMN - BankID p.. fil'
: . . . . . . . . . }
: . . . . . . . . }
2422 40: . . . . . . . SET {
2424 38: . . . . . . . . SEQUENCE {
2426 3: . . . . . . . . . OBJECT IDENTIFIER commonName (2 5 4 3)
: . . . . . . . . . . (X.520 DN component)
2431 31: . . . . . . . . . UTF8String 'FÖRNAMN MELLANNAMN EFTERNAMN1 EFTERNAMN2'
: . . . . . . . . . }
: . . . . . . . . }
: . . . . . . . }
2464 159: . . . . . . SEQUENCE {
2467 13: . . . . . . . SEQUENCE {
2469 9: . . . . . . . . OBJECT IDENTIFIER
: . . . . . . . . . rsaEncryption (1 2 840 113549 1 1 1)
: . . . . . . . . . (PKCS #1)
2480 0: . . . . . . . . NULL
: . . . . . . . . }
2482 141: . . . . . . . BIT STRING, encapsulates {
2486 137: . . . . . . . . SEQUENCE {
2489 129: . . . . . . . . . INTEGER
**A** : . . . . . . . . . 00 D9... (129 byte)
**B** : . . . . . . . . . 00 81... (129 byte)
2621 3: . . . . . . . . . INTEGER 65537
: . . . . . . . . . }
: . . . . . . . . }
: . . . . . . . }
2626 161: . . . . . . [3] {
2629 158: . . . . . . . SEQUENCE {
2632 55: . . . . . . . . SEQUENCE {
2634 8: . . . . . . . . . OBJECT IDENTIFIER
: . . . . . . . . . . authorityInfoAccess (1 3 6 1 5 5 7 1 1)
: . . . . . . . . . . (PKIX private extension)
2644 43: . . . . . . . . . OCTET STRING, encapsulates {
2646 41: . . . . . . . . . . SEQUENCE {
2648 39: . . . . . . . . . . . SEQUENCE {
2650 8: . . . . . . . . . . . . OBJECT IDENTIFIER ocsp (1 3 6 1 5 5 7 48 1)
: . . . . . . . . . . . . . (PKIX)
2660 27: . . . . . . . . . . . . [6] 'http://ocsp.pkiservices.com'
: . . . . . . . . . . . . }
: . . . . . . . . . . . }
: . . . . . . . . . . }
: . . . . . . . . . }
2689 19: . . . . . . . . SEQUENCE {
2691 3: . . . . . . . . . OBJECT IDENTIFIER certificatePolicies (2 5 29 32)
: . . . . . . . . . . (X.509 extension)
2696 12: . . . . . . . . . OCTET STRING, encapsulates {
2698 10: . . . . . . . . . . SEQUENCE {
2700 8: . . . . . . . . . . . SEQUENCE {
2702 6: . . . . . . . . . . . . OBJECT IDENTIFIER '1 2 752 78 1 1'
: . . . . . . . . . . . . }
: . . . . . . . . . . . }
: . . . . . . . . . . }
: . . . . . . . . . }
2710 14: . . . . . . . . SEQUENCE {
2712 3: . . . . . . . . . OBJECT IDENTIFIER keyUsage (2 5 29 15)
: . . . . . . . . . . (X.509 extension)
2717 1: . . . . . . . . . BOOLEAN TRUE
2720 4: . . . . . . . . . OCTET STRING, encapsulates {
**A**2722 2: . . . . . . . . . . BIT STRING 7 unused bits
**A** : . . . . . . . . . . . '1'B (bit 0)
**B**2722 2: . . . . . . . . . . BIT STRING 6 unused bits
**B** : . . . . . . . . . . . '10'B (bit 1)
: . . . . . . . . . . }
: . . . . . . . . . }
2726 29: . . . . . . . . SEQUENCE {
2728 3: . . . . . . . . . OBJECT IDENTIFIER subjectKeyIdentifier (2 5 29 14)
: . . . . . . . . . . (X.509 extension)
2733 22: . . . . . . . . . OCTET STRING, encapsulates {
2735 20: . . . . . . . . . . OCTET STRING
**A** : . . . . . . . . . C1 A6... (20 byte)
**B** : . . . . . . . . . CF E7... (20 byte)
: . . . . . . . . . . }
: . . . . . . . . . }
2757 31: . . . . . . . . SEQUENCE {
2759 3: . . . . . . . . . OBJECT IDENTIFIER
: . . . . . . . . . . authorityKeyIdentifier (2 5 29 35)
: . . . . . . . . . . (X.509 extension)
2764 24: . . . . . . . . . OCTET STRING, encapsulates {
2766 22: . . . . . . . . . . SEQUENCE {
2768 20: . . . . . . . . . . . [0]
: . . . . . . . . . 03 70... (20 byte)
: . . . . . . . . . . . }
: . . . . . . . . . . }
: . . . . . . . . . }
: . . . . . . . . }
: . . . . . . . }
: . . . . . . }
2790 13: . . . . . SEQUENCE {
2792 9: . . . . . . OBJECT IDENTIFIER
: . . . . . . . sha1withRSAEncryption (1 2 840 113549 1 1 5)
: . . . . . . . (PKCS #1)
2803 0: . . . . . . NULL
: . . . . . . }
2805 257: . . . . . BIT STRING
**A** : . . . . . . 27 9E... (256 byte)
**B** : . . . . . . 55 91... (256 byte)
: . . . . . }
: . . . . }
3066 374: . . . SET {
3070 370: . . . . SEQUENCE {
3074 1: . . . . . INTEGER 1
3077 114: . . . . . SEQUENCE {
3079 102: . . . . . . SEQUENCE {
3081 11: . . . . . . . SET {
3083 9: . . . . . . . . SEQUENCE {
3085 3: . . . . . . . . . OBJECT IDENTIFIER countryName (2 5 4 6)
: . . . . . . . . . . (X.520 DN component)
3090 2: . . . . . . . . . PrintableString 'SE'
: . . . . . . . . . }
: . . . . . . . . }
3094 33: . . . . . . . SET {
3096 31: . . . . . . . . SEQUENCE {
3098 3: . . . . . . . . . OBJECT IDENTIFIER organizationName (2 5 4 10)
: . . . . . . . . . . (X.520 DN component)
3103 24: . . . . . . . . . PrintableString 'Bankgirocentralen BGC AB'
: . . . . . . . . . }
: . . . . . . . . }
3129 20: . . . . . . . SET {
3131 18: . . . . . . . . SEQUENCE {
3133 3: . . . . . . . . . OBJECT IDENTIFIER serialNumber (2 5 4 5)
: . . . . . . . . . . (X.520 DN component)
3138 11: . . . . . . . . . PrintableString '556047-3521'
: . . . . . . . . . }
: . . . . . . . . }
3151 30: . . . . . . . SET {
3153 28: . . . . . . . . SEQUENCE {
3155 3: . . . . . . . . . OBJECT IDENTIFIER commonName (2 5 4 3)
: . . . . . . . . . . (X.520 DN component)
3160 21: . . . . . . . . . PrintableString 'BGC Administrative CA'
: . . . . . . . . . }
: . . . . . . . . }
: . . . . . . . }
3183 8: . . . . . . INTEGER 2B 13... (8 byte)
: . . . . . . }
3193 12: . . . . . SEQUENCE {
3195 8: . . . . . . OBJECT IDENTIFIER md5 (1 2 840 113549 2 5)
: . . . . . . . (RSADSI digestAlgorithm)
3205 0: . . . . . . NULL
: . . . . . . }
3207 89: . . . . . [0] {
3209 24: . . . . . . SEQUENCE {
3211 9: . . . . . . . OBJECT IDENTIFIER contentType (1 2 840 113549 1 9 3)
: . . . . . . . . (PKCS #9)
3222 11: . . . . . . . SET {
3224 9: . . . . . . . . OBJECT IDENTIFIER data (1 2 840 113549 1 7 1)
: . . . . . . . . . (PKCS #7)
: . . . . . . . . }
: . . . . . . . }
3235 28: . . . . . . SEQUENCE {
3237 9: . . . . . . . OBJECT IDENTIFIER signingTime (1 2 840 113549 1 9 5)
: . . . . . . . . (PKCS #9)
3248 15: . . . . . . . SET {
3250 13: . . . . . . . . UTCTime 15/08/2010 xx:xx:xx GMT
: . . . . . . . . }
: . . . . . . . }
3265 31: . . . . . . SEQUENCE {
3267 9: . . . . . . . OBJECT IDENTIFIER messageDigest (1 2 840 113549 1 9 4)
: . . . . . . . . (PKCS #9)
3278 18: . . . . . . . SET {
3280 16: . . . . . . . . OCTET STRING
: . . . . . . . . . 95 60... (16 byte)
: . . . . . . . . }
: . . . . . . . }
: . . . . . . }
3298 13: . . . . . SEQUENCE {
3300 9: . . . . . . OBJECT IDENTIFIER rsaEncryption (1 2 840 113549 1 1 1)
: . . . . . . . (PKCS #1)
3311 0: . . . . . . NULL
: . . . . . . }
3313 128: . . . . . OCTET STRING
: . . . . . . 2B 2C... (128 byte)
: . . . . . }
: . . . . }
: . . . }
: . . }
: . }
Med CSR blobbarna bortklipta blir strukturen som följer:
0:d=0 hl=4 l=1004 cons: SEQUENCE
4:d=1 hl=2 l= 9 prim: OBJECT :pkcs7-signedData
15:d=1 hl=4 l= 989 cons: cont [ 0 ]
19:d=2 hl=4 l= 985 cons: SEQUENCE
23:d=3 hl=2 l= 1 prim: INTEGER :01
26:d=3 hl=2 l= 0 cons: SET
28:d=3 hl=4 l= 974 cons: SEQUENCE
32:d=4 hl=2 l= 8 prim: OBJECT :id-cct-PKIData
42:d=4 hl=4 l= 960 cons: cont [ 0 ]
46:d=5 hl=4 l= 956 cons: SEQUENCE
50:d=6 hl=2 l= 0 cons: SEQUENCE
52:d=6 hl=4 l= 913 cons: SEQUENCE
56:d=7 hl=4 l= 492 cons: cont [ 0 ]
60:d=8 hl=2 l= 4 prim: INTEGER :01000002
66:d=8 hl=4 l= 482 cons: CERTIFICATE SIGNING REQUEST 1
552:d=7 hl=4 l= 413 cons: cont [ 0 ]
556:d=8 hl=2 l= 4 prim: INTEGER :01000003
562:d=8 hl=4 l= 403 cons: CERTIFICATE SIGNING REQUEST 2
969:d=6 hl=2 l= 0 cons: SEQUENCE
971:d=6 hl=2 l= 33 cons: SEQUENCE
973:d=7 hl=2 l= 31 cons: SEQUENCE
975:d=8 hl=2 l= 4 prim: INTEGER :01000001
981:d=8 hl=2 l= 7 prim: OBJECT :1.2.752.36.4.1.1
990:d=8 hl=2 l= 14 prim: IA5STRING :Not Applicable
1006:d=3 hl=2 l= 0 cons: SET
vilket avkodat blir
0 PKCS#7 SignedData = { (RFC5652)
23 CMSVersion = 1
26 digestAlgoritms = []
28 encapContentInfo = [
32 CMS PKIData = { (RFC2797)
50 controlSequence = []
52 reqSequence = [
56 {
60 BodyPartId = 01000002
66 CERTIFICATE SIGNING REQUEST 1
}
552 {
556 BodyPartId = 01000003
562 CERTIFICATE SIGNING REQUEST 2
}
]
969 cmsSequence = []
971 otherMsgSequence = [
973 OtherMsg = {
975 BodyPartId = 01000001
981 otherMsgType = 1.2.752.36.4.1.1
990 otherMsgValue = "Not Applicable"
}
]
}
]
1006 signerInfos = []