Edieren von binären ASN.1-kodierten dat-Dateien

Ändern von binären ASN.1-kodierten dat-Dateien

Ändert man den Inhalt der "dat"-Dateien mit einem Texteditor, werden die Längenangaben der beiden Sequenzen, die in diesem Falle Url's enthalten, nicht mit aktualisiert, was zu Fehlern bei der Interpretation durch den CM bei der Zertifikatserstellung führt. Im konkreten Fall sollen in den Url's 6- anstatt 5-stellige Seriennummern eingepflegt werden, d.h. die zu editierende Datei wird 2 Bytes grösser. Der asn.1-Dump zeigt nun den (Folge-)fehler:

T:\host_data\pki\call1655>t:\host_data\Tools\asn1dump\dumpasn1.exe -h 2005_nq_rv_13_ocsps_6digits.dat

    <30 82 01 57>
   0  343: SEQUENCE {
    <86 81 98>
   4  152:   [6]
         :     'ldap://dir.qstc.xxxxxxxx-xxxxxxxxxxxxxxxxxx.de/c'
         :     'n%3D117273%2Cou%3DQC%2013%20Mitarbeiter%20Test-C'
         :     'A%2Ccn%3DPublic%2Co%3DDRV%2Cc%3DDE?attrname=cACe'
         :     'rtificat'

Error: Invalid data encountered at position 161.

Es müssen deshalb - mit einem HEX-Editor - diese Werte korrigiert werden, hier:

pos. 0x000 : <30 82 01 57> -> <30 82 01 59> (Gesamtlänge der Datei)

pos. 0x004 : <86 81 98> -> <86 81 99> (Länge 1. Sequenz)

pos. 0x0A0 : <86 81 B9> -> <86 81 BA> (Länge 2. Sequenz)

Nach der Korrektur sieht der asn.1-Dump so aus:

T:\host_data\pki\call1655>t:\host_data\Tools\asn1dump\dumpasn1.exe -h 2005_nq_rv
_13_ocsps_6digits.dat
    <30 82 01 59>
   0  345: SEQUENCE {
    <86 81 99>
   4  153:   [6]
         :     'ldap://dir.qstc.xxxxxxxx-xxxxxxxxxxxxxxxxxx.de/c'
         :     'n%3D117273%2Cou%3DQC%2013%20Mitarbeiter%20Test-C'
         :     'A%2Ccn%3DPublic%2Co%3DDRV%2Cc%3DDE?attrname=cACe'
         :     'rtificate'
    <86 81 BA>
 160  186:   [6]
         :     'http://dir.qstc.xxxxxxxx-xxxxxxxxxxxxxxxxxx.de:8'
         :     '089/servlet/DirXweb/Ca/x.cer?dn=cn%3D117273%2Cou'
         :     '%3DQC%2013%20Mitarbeiter%20Test-CA%2Ccn%3DPublic'
         :     '%2Co%3DDRV%2Cc%3DDE&attrname=cACertificate'
         :   }

0 warnings, 0 errors.