X509wrappers i NGE

Från FriBID
Hoppa till navigeringHoppa till sök

Det här är en lite snabb dump av hur x509-wrappersen ser ut i NGE. Det är tänkt som hjälp för att se vilka delar av P12-formatet som används i NGE.

 . . SEQUENCE {
 . . . OBJECT IDENTIFIER '1 2 752 36 4 1 2'
 . . . OCTET STRING, encapsulates {
 . . . . SEQUENCE {
 . . . . . OCTET STRING    
 . . . . . . 00 00 00 00 00 00 00 00    ........
 . . . . . . 00 00 00 04 00 00 00 01    ........
 . . . . . . 00 00 00 80 00 00 00 00    ........
 . . . . . . 00 00 00 04 00 00 00 00    ........
 . . . . . . 80 00 02 01 00 00 00 00    ........
 . . . . . . 00 00 00 04 00 00 00 05    ........
 . . . . . . 00 00 00 00 00 00 00 00    ........
 . . . . . . 00 00 00 00 00 00 00 00    ........
 . . . . . . 00 00 00 00 00 00 00 00    ........
 . . . . . . 00 00 00 00 00 00 00 00    ........
 . . . . . . 00 00 00 00 00 00 00 00    ........
 . . . . . . 00 00 00 00 00 00 00 00                            
 . . . . . OCTET STRING, encapsulates {
 . . . . . . SEQUENCE {
 . . . . . . . SEQUENCE {
 . . . . . . . . [0] {
 . . . . . . . . . INTEGER 2
 . . . . . . . . . }
 . . . . . . . . INTEGER 08 00 38 DF A5 BE 7A 28 0C 70 C6 C2 49 EB EF 30                            
 . . . . . . . . SEQUENCE {
 . . . . . . . . . OBJECT IDENTIFIER sha1withRSAEncryption (1 2 840 113549 1 1 5)
 . . . . . . . . . . (PKCS #1)
 . . . . . . . . . NULL
 . . . . . . . . . }
 . . . . . . . . SEQUENCE {
 . . . . . . . . . SET {
 . . . . . . . . . . SEQUENCE {
 . . . . . . . . . . . OBJECT IDENTIFIER organizationName (2 5 4 10)
 . . . . . . . . . . . . (X.520 DN component)
 . . . . . . . . . . . UTF8String 'Finansiell ID-Teknik BID AB'
 . . . . . . . . . . . }
 . . . . . . . . . . }
 . . . . . . . . . SET {
 . . . . . . . . . . SEQUENCE {
 . . . . . . . . . . . OBJECT IDENTIFIER organizationalUnitName (2 5 4 11)
 . . . . . . . . . . . . (X.520 DN component)
 . . . . . . . . . . . UTF8String 'BankID Member Banks CA'
 . . . . . . . . . . . }
 . . . . . . . . . . }
 . . . . . . . . . SET {
 . . . . . . . . . . SEQUENCE {
 . . . . . . . . . . . OBJECT IDENTIFIER commonName (2 5 4 3)
 . . . . . . . . . . . . (X.520 DN component)
 . . . . . . . . . . . UTF8String 'BankID Root Certification Authority'
 . . . . . . . . . . . }
 . . . . . . . . . . }
 . . . . . . . . . }
 . . . . . . . . SEQUENCE {
 . . . . . . . . . UTCTime 28/06/2007 11:11:33 GMT
 . . . . . . . . . UTCTime 01/09/2019 21:54:45 GMT
 . . . . . . . . . }
 . . . . . . . . SEQUENCE {
 . . . . . . . . . SET {
 . . . . . . . . . . SEQUENCE {
 . . . . . . . . . . . OBJECT IDENTIFIER countryName (2 5 4 6)
 . . . . . . . . . . . . (X.520 DN component)
 . . . . . . . . . . . PrintableString 'SE'
 . . . . . . . . . . . }
 . . . . . . . . . . }
 . . . . . . . . . SET {
 . . . . . . . . . . SEQUENCE {
 . . . . . . . . . . . OBJECT IDENTIFIER organizationName (2 5 4 10)
 . . . . . . . . . . . . (X.520 DN component)
 . . . . . . . . . . . UTF8String 'SkandiaBanken Aktiebolag (publ)'
 . . . . . . . . . . . }
 . . . . . . . . . . }
 . . . . . . . . . SET {
 . . . . . . . . . . SEQUENCE {
 . . . . . . . . . . . OBJECT IDENTIFIER serialNumber (2 5 4 5)
 . . . . . . . . . . . . (X.520 DN component)
 . . . . . . . . . . . PrintableString '5164019738'
 . . . . . . . . . . . }
 . . . . . . . . . . }
 . . . . . . . . . SET {
 . . . . . . . . . . SEQUENCE {
 . . . . . . . . . . . OBJECT IDENTIFIER commonName (2 5 4 3)
 . . . . . . . . . . . . (X.520 DN component)
 . . . . . . . . . . . UTF8String 'SkandiaBanken Root CA2 for BankID'
 . . . . . . . . . . . }
 . . . . . . . . . . }
 . . . . . . . . . }
 . . . . . . . . SEQUENCE {
 . . . . . . . . . SEQUENCE {
 . . . . . . . . . . OBJECT IDENTIFIER rsaEncryption (1 2 840 113549 1 1 1)
 . . . . . . . . . . . (PKCS #1)
 . . . . . . . . . . NULL
 . . . . . . . . . . }
 . . . . . . . . . BIT STRING, encapsulates {
 . . . . . . . . . . SEQUENCE {
 . . . . . . . . . . . INTEGER    
 . . . . . . . . . 00 97 9D 87 05 C1 A6 5E    .......^
 . . . . . . . . . 07 A4 A0 E0 97 B5 C4 1C    ........
 . . . . . . . . . AC C3 BD 2A 25 11 9E 3D    ...*%..=
 . . . . . . . . . 1A 1A BB 62 05 69 2C 47    ...b.i,G
 . . . . . . . . . 02 2A 3E D1 7F 1D DA C4    .*>.....
 . . . . . . . . . FA 58 28 8F 00 DC 93 F7    .X(.....
 . . . . . . . . . 5B 73 55 53 82 7D F9 8C    [sUS.}..
 . . . . . . . . . 1E 96 CB 8A 33 C7 14 D8    ....3...
 . . . . . . . . . A0 20 B3 10 14 64 71 FD    . ...dq.
 . . . . . . . . . 53 6E D0 EE A3 4A 16 9D    Sn...J..
 . . . . . . . . . 12 08 DE 6F 4B EF 49 97    ...oK.I.
 . . . . . . . . . CE 9D D9 DA 64 97 52 EE    ....d.R.
 . . . . . . . . . 0E ED F9 35 5B FE B6 08    ...5[...
 . . . . . . . . . 81 EA 58 FC 3E CC 61 C2    ..X.>.a.
 . . . . . . . . . AB 69 E5 57 84 3C 39 A0    .i.W.<9.
 . . . . . . . . . 30 E9 DE F4 B3 1E 55 F0    0.....U.
 . . . . . . . . . 82 40 68 DA 60 66 F5 84    .@h.`f..
 . . . . . . . . . 77 EB 29 C2 13 3F 00 06    w.)..?..
 . . . . . . . . . BC A0 E4 33 69 35 8A 3B    ...3i5.;
 . . . . . . . . . A7 EB A8 5D E6 0A E8 45    ...]...E
 . . . . . . . . . 70 56 FB 8B B8 88 20 54    pV.... T
 . . . . . . . . . 4A FE 64 A2 39 E7 06 C3    J.d.9...
 . . . . . . . . . BE 33 C1 C3 96 6D 0C D2    .3...m..
 . . . . . . . . . 28 6C 4A F0 62 C2 9B 6B    (lJ.b..k
 . . . . . . . . . 43 92 38 21 20 B7 79 15    C.8! .y.
 . . . . . . . . . EC 4D CE 00 35 CE 09 FC    .M..5...
 . . . . . . . . . 85 58 C4 5C 7C 30 9D 59    .X.\|0.Y
 . . . . . . . . . 5C 0D 52 EB E5 8C 5D CA    \.R...].
 . . . . . . . . . 7D 72 60 45 63 7D 8F 8C    }r`Ec}..
 . . . . . . . . . 2F 7D BE 7A 7A 9F 33 2E    /}.zz.3.
 . . . . . . . . . D1 B5 F1 A2 BF 9E 29 14    ......).
 . . . . . . . . . 28 77 DB 22 C7 11 0D 2F    (w.".../
 . . . . . . . . . 4F                         O
 . . . . . . . . . . . INTEGER 65537
 . . . . . . . . . . . }
 . . . . . . . . . . }
 . . . . . . . . . }
 . . . . . . . . [3] {
 . . . . . . . . . SEQUENCE {
 . . . . . . . . . . SEQUENCE {
 . . . . . . . . . . . OBJECT IDENTIFIER basicConstraints (2 5 29 19)
 . . . . . . . . . . . . (X.509 extension)
 . . . . . . . . . . . BOOLEAN TRUE
 . . . . . . . . . . . OCTET STRING, encapsulates {
 . . . . . . . . . . . . SEQUENCE {
 . . . . . . . . . . . . . BOOLEAN TRUE
 . . . . . . . . . . . . . }
 . . . . . . . . . . . . }
 . . . . . . . . . . . }
 . . . . . . . . . . SEQUENCE {
 . . . . . . . . . . . OBJECT IDENTIFIER certificatePolicies (2 5 29 32)
 . . . . . . . . . . . . (X.509 extension)
 . . . . . . . . . . . OCTET STRING, encapsulates {
 . . . . . . . . . . . . SEQUENCE {
 . . . . . . . . . . . . . SEQUENCE {
 . . . . . . . . . . . . . . OBJECT IDENTIFIER '1 2 752 78 1 1'
 . . . . . . . . . . . . . . }
 . . . . . . . . . . . . . }
 . . . . . . . . . . . . }
 . . . . . . . . . . . }
 . . . . . . . . . . SEQUENCE {
 . . . . . . . . . . . OBJECT IDENTIFIER keyUsage (2 5 29 15)
 . . . . . . . . . . . . (X.509 extension)
 . . . . . . . . . . . BOOLEAN TRUE
 . . . . . . . . . . . OCTET STRING, encapsulates {
 . . . . . . . . . . . . BIT STRING 1 unused bit
 . . . . . . . . . . . . . '1100000'B
 . . . . . . . . . . . . }
 . . . . . . . . . . . }
 . . . . . . . . . . SEQUENCE {
 . . . . . . . . . . . OBJECT IDENTIFIER authorityKeyIdentifier (2 5 29 35)
 . . . . . . . . . . . . (X.509 extension)
 . . . . . . . . . . . OCTET STRING, encapsulates {
 . . . . . . . . . . . . SEQUENCE {
 . . . . . . . . . . . . . [0] 24 61 BF 68 11 AB 07 38 E9 7D 4F 14 84 33 37 BB 36 E5 D4 87                6...
 . . . . . . . . . . . . . }
 . . . . . . . . . . . . }
 . . . . . . . . . . . }
 . . . . . . . . . . SEQUENCE {
 . . . . . . . . . . . OBJECT IDENTIFIER subjectKeyIdentifier (2 5 29 14)
 . . . . . . . . . . . . (X.509 extension)
 . . . . . . . . . . . OCTET STRING, encapsulates {
 . . . . . . . . . . . . OCTET STRING F2 3C 8E 58 38 20 5A 28 5F 45 31 75 49 FB FC F1 3D 8E 5C 35                =.\5
 . . . . . . . . . . . . }
 . . . . . . . . . . . }
 . . . . . . . . . . }
 . . . . . . . . . }
 . . . . . . . . }
 . . . . . . . SEQUENCE {
 . . . . . . . . OBJECT IDENTIFIER sha1withRSAEncryption (1 2 840 113549 1 1 5)
 . . . . . . . . . (PKCS #1)
 . . . . . . . . NULL
 . . . . . . . . }
 . . . . . . . BIT STRING    
 . . . . . . . . 6B 2C 85 4F 6B 22 7F 09    k,.Ok"..
 . . . . . . . . 27 BD F4 E3 82 74 93 1C    '....t..
 . . . . . . . . A3 6F 4F B4 2C A1 BF 86    .oO.,...
 . . . . . . . . 24 25 28 2A 48 57 55 AC    $%(*HWU.
 . . . . . . . . CC 7F 4D DA D8 0E D5 3B    ..M....;
 . . . . . . . . 24 A5 65 E6 E2 DC 75 7B    $.e...u{
 . . . . . . . . 96 74 D3 66 60 3D 05 59    .t.f`=.Y
 . . . . . . . . 19 15 47 BF 57 A3 95 A7    ..G.W...
 . . . . . . . . 1E FC 69 68 B7 C2 0D BA    ..ih....
 . . . . . . . . 36 DE A4 D5 82 E7 B1 91    6.......
 . . . . . . . . 41 4A 25 95 E3 59 07 87    AJ%..Y..
 . . . . . . . . A4 BF 4D B3 A1 7C 69 BC    ..M..|i.
 . . . . . . . . DE AE 43 3C D0 D1 6F 8A    ..C<..o.
 . . . . . . . . 7E 58 50 6E A4 3A 1A EE    ~XPn.:..
 . . . . . . . . 02 1D 4B E4 7A 90 D9 F4    ..K.z...
 . . . . . . . . 71 D7 66 70 B2 B3 A7 25    q.fp...%
 . . . . . . . . 90 56 F5 CF 42 2F AA 83    .V..B/..
 . . . . . . . . 6C 84 D2 9B 57 75 55 98    l...WuU.
 . . . . . . . . 74 26 2E 28 0E B6 FC B1    t&.(....
 . . . . . . . . D8 15 67 BB 8C 56 F2 26    ..g..V.&
 . . . . . . . . B7 37 15 CF BD 62 76 5A    .7...bvZ
 . . . . . . . . EC 92 61 5D 54 19 33 FB    ..a]T.3.
 . . . . . . . . 6C C6 34 8E 2C 5E 53 8D    l.4.,^S.
 . . . . . . . . DA 1B F9 F3 2C 28 43 B3    ....,(C.
 . . . . . . . . 69 9C 3C D4 3E 55 E3 A1    i.<.>U..
 . . . . . . . . 71 CD E4 45 03 7D 99 C2    q..E.}..
 . . . . . . . . 53 19 3A B0 49 22 C4 A7    S.:.I"..
 . . . . . . . . A4 BA 38 D9 C0 0F 21 4A    ..8...!J
 . . . . . . . . 28 10 C3 00 FD 50 94 1D    (....P..
 . . . . . . . . 3A 4D 72 59 72 54 D4 BA    :MrYrT..
 . . . . . . . . 28 FC B1 66 DD 5E BC 4C    (..f.^.L
 . . . . . . . . 75 F2 E8 00 40 CE 4E 32                            
 . . . . . . . }
 . . . . . . }
 . . . . . }
 . . . . }
 . . . }

Några noteringar:

  • certificatePolicies är satt till 1.2.752.78.1.1 (vilket jag kallat bankIdCertificatePolicy). Vad detta innebär mer än att det är proprietärt för BankID är för mig inte klart.
  • Datastrukturen är, från och med:
OCTET STRING, encapsulates {
 . . . . . . SEQUENCE {
 . . . . . . . SEQUENCE {

till och med den sista

 BIT STRING   

identisk med vad som följer efter OBJECT IDENTIFIER x509Certificate (for PKCS #12) (PKCS #9 via PKCS #12) (1.2.840.113549.1.9.22.1) i en P12-fil.