You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Kai Zheng (JIRA)" <ji...@apache.org> on 2015/12/02 15:41:10 UTC

[jira] [Created] (DIRKRB-485) Provide an ASN1 dumping tool for troubleshooting

Kai Zheng created DIRKRB-485:
--------------------------------

             Summary: Provide an ASN1 dumping tool for troubleshooting
                 Key: DIRKRB-485
                 URL: https://issues.apache.org/jira/browse/DIRKRB-485
             Project: Directory Kerberos
          Issue Type: Improvement
            Reporter: Kai Zheng
            Assignee: Kai Zheng


This will provide a workable and useful ASN1 dumping tool to help analyze ASN1 encoding stream or packet. It can be used to exercise the framework with all kinds of testing binary inputs. The output should look pretty and informative.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

RE: FW: [jira] [Created] (DIRKRB-485) Provide an ASN1 dumping tool for troubleshooting

Posted by "Zheng, Kai" <ka...@intel.com>.
The suggestions are good and I will use them. Will give the new output and let's see how it's like. Thanks!

-----Original Message-----
From: Emmanuel Lécharny [mailto:elecharny@gmail.com] 
Sent: Wednesday, December 02, 2015 11:30 PM
To: kerby@directory.apache.org
Subject: Re: FW: [jira] [Created] (DIRKRB-485) Provide an ASN1 dumping tool for troubleshooting

Le 02/12/15 16:14, Zheng, Kai a écrit :
> Hi,
>
> Any suggestion for this? Below is my initial output, simple and short data will be appended for each item, long data will be sampled.
> The offsets are only useful for debugging and will not show by default. Thanks.

Sounds a very good idea. Keep the tags in hex format (48 is far less readable than 0x30), add the length in deimal format, and also print the values when it's a non constructed type. Like :

Sequence[0x30, 1509]
  OID[0x06, 7] : "1.2.4.3"
  Tag:0[0xA0, 1494]
    Sequence[0x30, 1492]
      Integer[0x02,2] : 341
...

I have used lowercased name for readability.


RE: FW: [jira] [Created] (DIRKRB-485) Provide an ASN1 dumping tool for troubleshooting

Posted by "Zheng, Kai" <ka...@intel.com>.
I also looked at the format of this great tool https://lapo.it/asn1js/.
Now it will output like below. 

sequence[off=0, len=2+1507(undefined)]
    object identifier[off=2, len=2+9] 1.2.840.113549.1.7.2
    [0][off=13, len=2+1492(undefined)]
        sequence[off=15, len=2+1488(undefined)]
            integer[off=17, len=2+1] 1
            set[off=20, len=2+11]
                sequence[off=22, len=2+9]
                    object identifier[off=24, len=2+5] 1.3.14.3.2.26
                    null[off=31, len=2+0] null
            sequence[off=33, len=2+35(undefined)]
                object identifier[off=35, len=2+9] 1.2.840.113549.1.7.1
                [0][off=46, len=2+20(undefined)]
                    octet string[off=48, len=2+16(undefined)]
                        octet string[off=50, len=2+12] 12 octets
            [0][off=70, len=4+1122]
                sequence[off=74, len=4+525]
                    sequence[off=78, len=4+374]
                        [0][off=82, len=2+3]
                            integer[off=84, len=2+1] 2
                        integer[off=87, len=2+1] 1
                        sequence[off=90, len=2+13]
                            object identifier[off=92, len=2+9] 1.2.840.113549.1.1.4
                            null[off=103, len=2+0] null
                        sequence[off=105, len=2+37]
                            set[off=107, len=2+22]
                                sequence[off=109, len=2+20]
                                    object identifier[off=111, len=2+3] 2.5.4.10
                                    printable string[off=116, len=2+13] Bouncy Castle
                            set[off=131, len=2+11]
                                sequence[off=133, len=2+9]
                                    object identifier[off=135, len=2+3] 2.5.4.6
                                    printable string[off=140, len=2+2] AU
                        sequence[off=144, len=2+30]
                            utc time[off=146, len=2+13] Sun Oct 24 12:30:58 CST 2004
                            utc time[off=161, len=2+13] Tue Feb 01 12:30:58 CST 2005
                        sequence[off=176, len=2+37]
                            set[off=178, len=2+22]
                                sequence[off=180, len=2+20]
                                    object identifier[off=182, len=2+3] 2.5.4.10
                                    printable string[off=187, len=2+13] Bouncy Castle
                            set[off=202, len=2+11]
                                sequence[off=204, len=2+9]
                                    object identifier[off=206, len=2+3] 2.5.4.6
                                    printable string[off=211, len=2+2] AU
                        sequence[off=215, len=3+159]
                            sequence[off=218, len=2+13]
                                object identifier[off=220, len=2+9] 1.2.840.113549.1.1.1
                                null[off=231, len=2+0] null
                            bit string[off=233, len=3+141] 140 bytes
                        [3][off=377, len=2+77]
                            sequence[off=379, len=2+75]
                                sequence[off=381, len=2+29]
                                    object identifier[off=383, len=2+3] 2.5.29.14
                                    octet string[off=388, len=2+22] 22 octets
                                sequence[off=412, len=2+31]
                                    object identifier[off=414, len=2+3] 2.5.29.35
                                    octet string[off=419, len=2+24] 24 octets
                                sequence[off=445, len=2+9]
                                    object identifier[off=447, len=2+3] 2.5.29.19
                                    octet string[off=452, len=2+2] 2 octets
                    sequence[off=456, len=2+13]
                        object identifier[off=458, len=2+9] 1.2.840.113549.1.1.4
                        null[off=469, len=2+0] null
                    bit string[off=471, len=3+129] 128 bytes
                sequence[off=603, len=4+589]
                    sequence[off=607, len=4+438]
                        [0][off=611, len=2+3]
                            integer[off=613, len=2+1] 2
                        integer[off=616, len=2+1] 2
                        sequence[off=619, len=2+13]
                            object identifier[off=621, len=2+9] 1.2.840.113549.1.1.4
                            null[off=632, len=2+0] null
                        sequence[off=634, len=2+37]
                            set[off=636, len=2+22]
                                sequence[off=638, len=2+20]
                                    object identifier[off=640, len=2+3] 2.5.4.10
                                    printable string[off=645, len=2+13] Bouncy Castle
                            set[off=660, len=2+11]
                                sequence[off=662, len=2+9]
                                    object identifier[off=664, len=2+3] 2.5.4.6
                                    printable string[off=669, len=2+2] AU
                        sequence[off=673, len=2+30]
                            utc time[off=675, len=2+13] Sun Oct 24 12:30:59 CST 2004
                            utc time[off=690, len=2+13] Tue Feb 01 12:30:59 CST 2005
                        sequence[off=705, len=2+101]
                            set[off=707, len=2+24]
                                sequence[off=709, len=2+22]
                                    object identifier[off=711, len=2+3] 2.5.4.3
                                    printable string[off=716, len=2+15] Eric H. Echidna
                            set[off=733, len=2+36]
                                sequence[off=735, len=2+34]
                                    object identifier[off=737, len=2+9] 1.2.840.113549.1.9.1
                                    ia5 string[off=748, len=2+21] eric@bouncycastle.org
                            set[off=771, len=2+22]
                                sequence[off=773, len=2+20]
                                    object identifier[off=775, len=2+3] 2.5.4.10
                                    printable string[off=780, len=2+13] Bouncy Castle
                            set[off=795, len=2+11]
                                sequence[off=797, len=2+9]
                                    object identifier[off=799, len=2+3] 2.5.4.6
                                    printable string[off=804, len=2+2] AU
                        sequence[off=808, len=3+159]
                            sequence[off=811, len=2+13]
                                object identifier[off=813, len=2+9] 1.2.840.113549.1.1.1
                                null[off=824, len=2+0] null
                            bit string[off=826, len=3+141] 140 bytes
                        [3][off=970, len=2+77]
                            sequence[off=972, len=2+75]
                                sequence[off=974, len=2+29]
                                    object identifier[off=976, len=2+3] 2.5.29.14
                                    octet string[off=981, len=2+22] 22 octets
                                sequence[off=1005, len=2+31]
                                    object identifier[off=1007, len=2+3] 2.5.29.35
                                    octet string[off=1012, len=2+24] 24 octets
                                sequence[off=1038, len=2+9]
                                    object identifier[off=1040, len=2+3] 2.5.29.19
                                    octet string[off=1045, len=2+2] 2 octets
                    sequence[off=1049, len=2+13]
                        object identifier[off=1051, len=2+9] 1.2.840.113549.1.1.4
                        null[off=1062, len=2+0] null
                    bit string[off=1064, len=3+129] 128 bytes
            set[off=1196, len=4+303]
                sequence[off=1200, len=4+299]
                    integer[off=1204, len=2+1] 1
                    sequence[off=1207, len=2+42]
                        sequence[off=1209, len=2+37]
                            set[off=1211, len=2+22]
                                sequence[off=1213, len=2+20]
                                    object identifier[off=1215, len=2+3] 2.5.4.10
                                    printable string[off=1220, len=2+13] Bouncy Castle
                            set[off=1235, len=2+11]
                                sequence[off=1237, len=2+9]
                                    object identifier[off=1239, len=2+3] 2.5.4.6
                                    printable string[off=1244, len=2+2] AU
                        integer[off=1248, len=2+1] 2
                    sequence[off=1251, len=2+9]
                        object identifier[off=1253, len=2+5] 1.3.14.3.2.26
                        null[off=1260, len=2+0] null
                    [0][off=1262, len=2+93]
                        sequence[off=1264, len=2+24]
                            object identifier[off=1266, len=2+9] 1.2.840.113549.1.9.3
                            set[off=1277, len=2+11]
                                object identifier[off=1279, len=2+9] 1.2.840.113549.1.7.1
                        sequence[off=1290, len=2+28]
                            object identifier[off=1292, len=2+9] 1.2.840.113549.1.9.5
                            set[off=1303, len=2+15]
                                utc time[off=1305, len=2+13] Sun Oct 24 12:30:59 CST 2004
                        sequence[off=1320, len=2+35]
                            object identifier[off=1322, len=2+9] 1.2.840.113549.1.9.4
                            set[off=1333, len=2+22]
                                octet string[off=1335, len=2+20] 20 octets
                    sequence[off=1357, len=2+13]
                        object identifier[off=1359, len=2+9] 1.2.840.113549.1.1.1
                        null[off=1370, len=2+0] null
                    octet string[off=1372, len=3+128] 128 octets

-----Original Message-----
From: Zheng, Kai 
Sent: Wednesday, December 02, 2015 11:46 PM
To: kerby@directory.apache.org
Subject: RE: FW: [jira] [Created] (DIRKRB-485) Provide an ASN1 dumping tool for troubleshooting

The suggestions are good and I will use them. Will give the new output and let's see how it's like. Thanks!

-----Original Message-----
From: Emmanuel Lécharny [mailto:elecharny@gmail.com] 
Sent: Wednesday, December 02, 2015 11:30 PM
To: kerby@directory.apache.org
Subject: Re: FW: [jira] [Created] (DIRKRB-485) Provide an ASN1 dumping tool for troubleshooting

Le 02/12/15 16:14, Zheng, Kai a écrit :
> Hi,
>
> Any suggestion for this? Below is my initial output, simple and short data will be appended for each item, long data will be sampled.
> The offsets are only useful for debugging and will not show by default. Thanks.

Sounds a very good idea. Keep the tags in hex format (48 is far less readable than 0x30), add the length in deimal format, and also print the values when it's a non constructed type. Like :

Sequence[0x30, 1509]
  OID[0x06, 7] : "1.2.4.3"
  Tag:0[0xA0, 1494]
    Sequence[0x30, 1492]
      Integer[0x02,2] : 341
...

I have used lowercased name for readability.


Re: FW: [jira] [Created] (DIRKRB-485) Provide an ASN1 dumping tool for troubleshooting

Posted by Emmanuel Lécharny <el...@gmail.com>.
Le 02/12/15 16:14, Zheng, Kai a écrit :
> Hi,
>
> Any suggestion for this? Below is my initial output, simple and short data will be appended for each item, long data will be sampled.
> The offsets are only useful for debugging and will not show by default. Thanks.

Sounds a very good idea. Keep the tags in hex format (48 is far less
readable than 0x30), add the length in deimal format, and also print the
values when it's a non constructed type. Like :

Sequence[0x30, 1509]
  OID[0x06, 7] : "1.2.4.3"
  Tag:0[0xA0, 1494]
    Sequence[0x30, 1492]
      Integer[0x02,2] : 341
...

I have used lowercased name for readability.


FW: [jira] [Created] (DIRKRB-485) Provide an ASN1 dumping tool for troubleshooting

Posted by "Zheng, Kai" <ka...@intel.com>.
Hi,

Any suggestion for this? Below is my initial output, simple and short data will be appended for each item, long data will be sampled.
The offsets are only useful for debugging and will not show by default. Thanks.

SEQUENCE[tag=48, body=[2, 1511]]
  OBJECT IDENTIFIER[tag=6, body=[4, 13]]
  [0][tag=160, body=[15, 1509]]
    SEQUENCE[tag=48, body=[17, 1505]]
      INTEGER[tag=2, body=[19, 20]]
      SET[tag=49, body=[22, 33]]
        SEQUENCE[tag=48, body=[24, 33]]
          OBJECT IDENTIFIER[tag=6, body=[26, 31]]
          NULL[tag=5, body=[33, 33]]
      SEQUENCE[tag=48, body=[35, 70]]
        OBJECT IDENTIFIER[tag=6, body=[37, 46]]
        [0][tag=160, body=[48, 68]]
          OCTET STRING[tag=36, body=[50, 66]]
            OCTET STRING[tag=4, body=[52, 64]]
      [0][tag=160, body=[74, 1196]]
        SEQUENCE[tag=48, body=[78, 603]]
          SEQUENCE[tag=48, body=[82, 456]]
            [0][tag=160, body=[84, 87]]
              INTEGER[tag=2, body=[86, 87]]
            INTEGER[tag=2, body=[89, 90]]
            SEQUENCE[tag=48, body=[92, 105]]
              OBJECT IDENTIFIER[tag=6, body=[94, 103]]
              NULL[tag=5, body=[105, 105]]
            SEQUENCE[tag=48, body=[107, 144]]
              SET[tag=49, body=[109, 131]]
                SEQUENCE[tag=48, body=[111, 131]]
                  OBJECT IDENTIFIER[tag=6, body=[113, 116]]
                  PRINTABLE STRING[tag=19, body=[118, 131]]
              SET[tag=49, body=[133, 144]]
                SEQUENCE[tag=48, body=[135, 144]]
                  OBJECT IDENTIFIER[tag=6, body=[137, 140]]
                  PRINTABLE STRING[tag=19, body=[142, 144]]
            SEQUENCE[tag=48, body=[146, 176]]
              UTC TIME[tag=23, body=[148, 161]]
              UTC TIME[tag=23, body=[163, 176]]
            SEQUENCE[tag=48, body=[178, 215]]
              SET[tag=49, body=[180, 202]]
                SEQUENCE[tag=48, body=[182, 202]]
                  OBJECT IDENTIFIER[tag=6, body=[184, 187]]
                  PRINTABLE STRING[tag=19, body=[189, 202]]
              SET[tag=49, body=[204, 215]]
                SEQUENCE[tag=48, body=[206, 215]]
                  OBJECT IDENTIFIER[tag=6, body=[208, 211]]
                  PRINTABLE STRING[tag=19, body=[213, 215]]
            SEQUENCE[tag=48, body=[218, 377]]
              SEQUENCE[tag=48, body=[220, 233]]
                OBJECT IDENTIFIER[tag=6, body=[222, 231]]
                NULL[tag=5, body=[233, 233]]
              BIT STRING[tag=3, body=[236, 377]]
            [3][tag=163, body=[379, 456]]
              SEQUENCE[tag=48, body=[381, 456]]
                SEQUENCE[tag=48, body=[383, 412]]
                  OBJECT IDENTIFIER[tag=6, body=[385, 388]]
                  OCTET STRING[tag=4, body=[390, 412]]
                SEQUENCE[tag=48, body=[414, 445]]
                  OBJECT IDENTIFIER[tag=6, body=[416, 419]]
                  OCTET STRING[tag=4, body=[421, 445]]
                SEQUENCE[tag=48, body=[447, 456]]
                  OBJECT IDENTIFIER[tag=6, body=[449, 452]]
                  OCTET STRING[tag=4, body=[454, 456]]
          SEQUENCE[tag=48, body=[458, 471]]
            OBJECT IDENTIFIER[tag=6, body=[460, 469]]
            NULL[tag=5, body=[471, 471]]
          BIT STRING[tag=3, body=[474, 603]]
        SEQUENCE[tag=48, body=[607, 1196]]
          SEQUENCE[tag=48, body=[611, 1049]]
            [0][tag=160, body=[613, 616]]
              INTEGER[tag=2, body=[615, 616]]
            INTEGER[tag=2, body=[618, 619]]
            SEQUENCE[tag=48, body=[621, 634]]
              OBJECT IDENTIFIER[tag=6, body=[623, 632]]
              NULL[tag=5, body=[634, 634]]
            SEQUENCE[tag=48, body=[636, 673]]
              SET[tag=49, body=[638, 660]]
                SEQUENCE[tag=48, body=[640, 660]]
                  OBJECT IDENTIFIER[tag=6, body=[642, 645]]
                  PRINTABLE STRING[tag=19, body=[647, 660]]
              SET[tag=49, body=[662, 673]]
                SEQUENCE[tag=48, body=[664, 673]]
                  OBJECT IDENTIFIER[tag=6, body=[666, 669]]
                  PRINTABLE STRING[tag=19, body=[671, 673]]
            SEQUENCE[tag=48, body=[675, 705]]
              UTC TIME[tag=23, body=[677, 690]]
              UTC TIME[tag=23, body=[692, 705]]
            SEQUENCE[tag=48, body=[707, 808]]
              SET[tag=49, body=[709, 733]]
                SEQUENCE[tag=48, body=[711, 733]]
                  OBJECT IDENTIFIER[tag=6, body=[713, 716]]
                  PRINTABLE STRING[tag=19, body=[718, 733]]
              SET[tag=49, body=[735, 771]]
                SEQUENCE[tag=48, body=[737, 771]]
                  OBJECT IDENTIFIER[tag=6, body=[739, 748]]
                  IA5 STRING[tag=22, body=[750, 771]]
              SET[tag=49, body=[773, 795]]
                SEQUENCE[tag=48, body=[775, 795]]
                  OBJECT IDENTIFIER[tag=6, body=[777, 780]]
                  PRINTABLE STRING[tag=19, body=[782, 795]]
              SET[tag=49, body=[797, 808]]
                SEQUENCE[tag=48, body=[799, 808]]
                  OBJECT IDENTIFIER[tag=6, body=[801, 804]]
                  PRINTABLE STRING[tag=19, body=[806, 808]]
            SEQUENCE[tag=48, body=[811, 970]]
              SEQUENCE[tag=48, body=[813, 826]]
                OBJECT IDENTIFIER[tag=6, body=[815, 824]]
                NULL[tag=5, body=[826, 826]]
              BIT STRING[tag=3, body=[829, 970]]
            [3][tag=163, body=[972, 1049]]
              SEQUENCE[tag=48, body=[974, 1049]]
                SEQUENCE[tag=48, body=[976, 1005]]
                  OBJECT IDENTIFIER[tag=6, body=[978, 981]]
                  OCTET STRING[tag=4, body=[983, 1005]]
                SEQUENCE[tag=48, body=[1007, 1038]]
                  OBJECT IDENTIFIER[tag=6, body=[1009, 1012]]
                  OCTET STRING[tag=4, body=[1014, 1038]]
                SEQUENCE[tag=48, body=[1040, 1049]]
                  OBJECT IDENTIFIER[tag=6, body=[1042, 1045]]
                  OCTET STRING[tag=4, body=[1047, 1049]]
          SEQUENCE[tag=48, body=[1051, 1064]]
            OBJECT IDENTIFIER[tag=6, body=[1053, 1062]]
            NULL[tag=5, body=[1064, 1064]]
          BIT STRING[tag=3, body=[1067, 1196]]
      SET[tag=49, body=[1200, 1503]]
        SEQUENCE[tag=48, body=[1204, 1503]]
          INTEGER[tag=2, body=[1206, 1207]]
          SEQUENCE[tag=48, body=[1209, 1251]]
            SEQUENCE[tag=48, body=[1211, 1248]]
              SET[tag=49, body=[1213, 1235]]
                SEQUENCE[tag=48, body=[1215, 1235]]
                  OBJECT IDENTIFIER[tag=6, body=[1217, 1220]]
                  PRINTABLE STRING[tag=19, body=[1222, 1235]]
              SET[tag=49, body=[1237, 1248]]
                SEQUENCE[tag=48, body=[1239, 1248]]
                  OBJECT IDENTIFIER[tag=6, body=[1241, 1244]]
                  PRINTABLE STRING[tag=19, body=[1246, 1248]]
            INTEGER[tag=2, body=[1250, 1251]]
          SEQUENCE[tag=48, body=[1253, 1262]]
            OBJECT IDENTIFIER[tag=6, body=[1255, 1260]]
            NULL[tag=5, body=[1262, 1262]]
          [0][tag=160, body=[1264, 1357]]
            SEQUENCE[tag=48, body=[1266, 1290]]
              OBJECT IDENTIFIER[tag=6, body=[1268, 1277]]
              SET[tag=49, body=[1279, 1290]]
                OBJECT IDENTIFIER[tag=6, body=[1281, 1290]]
            SEQUENCE[tag=48, body=[1292, 1320]]
              OBJECT IDENTIFIER[tag=6, body=[1294, 1303]]
              SET[tag=49, body=[1305, 1320]]
                UTC TIME[tag=23, body=[1307, 1320]]
            SEQUENCE[tag=48, body=[1322, 1357]]
              OBJECT IDENTIFIER[tag=6, body=[1324, 1333]]
              SET[tag=49, body=[1335, 1357]]
                OCTET STRING[tag=4, body=[1337, 1357]]
          SEQUENCE[tag=48, body=[1359, 1372]]
            OBJECT IDENTIFIER[tag=6, body=[1361, 1370]]
            NULL[tag=5, body=[1372, 1372]]
          OCTET STRING[tag=4, body=[1375, 1503]]

-----Original Message-----
From: Kai Zheng (JIRA) [mailto:jira@apache.org] 
Sent: Wednesday, December 02, 2015 10:41 PM
To: dev@directory.apache.org
Subject: [jira] [Created] (DIRKRB-485) Provide an ASN1 dumping tool for troubleshooting

Kai Zheng created DIRKRB-485:
--------------------------------

             Summary: Provide an ASN1 dumping tool for troubleshooting
                 Key: DIRKRB-485
                 URL: https://issues.apache.org/jira/browse/DIRKRB-485
             Project: Directory Kerberos
          Issue Type: Improvement
            Reporter: Kai Zheng
            Assignee: Kai Zheng


This will provide a workable and useful ASN1 dumping tool to help analyze ASN1 encoding stream or packet. It can be used to exercise the framework with all kinds of testing binary inputs. The output should look pretty and informative.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

FW: [jira] [Created] (DIRKRB-485) Provide an ASN1 dumping tool for troubleshooting

Posted by "Zheng, Kai" <ka...@intel.com>.
Hi,

Any suggestion for this? Below is my initial output, simple and short data will be appended for each item, long data will be sampled.
The offsets are only useful for debugging and will not show by default. Thanks.

SEQUENCE[tag=48, body=[2, 1511]]
  OBJECT IDENTIFIER[tag=6, body=[4, 13]]
  [0][tag=160, body=[15, 1509]]
    SEQUENCE[tag=48, body=[17, 1505]]
      INTEGER[tag=2, body=[19, 20]]
      SET[tag=49, body=[22, 33]]
        SEQUENCE[tag=48, body=[24, 33]]
          OBJECT IDENTIFIER[tag=6, body=[26, 31]]
          NULL[tag=5, body=[33, 33]]
      SEQUENCE[tag=48, body=[35, 70]]
        OBJECT IDENTIFIER[tag=6, body=[37, 46]]
        [0][tag=160, body=[48, 68]]
          OCTET STRING[tag=36, body=[50, 66]]
            OCTET STRING[tag=4, body=[52, 64]]
      [0][tag=160, body=[74, 1196]]
        SEQUENCE[tag=48, body=[78, 603]]
          SEQUENCE[tag=48, body=[82, 456]]
            [0][tag=160, body=[84, 87]]
              INTEGER[tag=2, body=[86, 87]]
            INTEGER[tag=2, body=[89, 90]]
            SEQUENCE[tag=48, body=[92, 105]]
              OBJECT IDENTIFIER[tag=6, body=[94, 103]]
              NULL[tag=5, body=[105, 105]]
            SEQUENCE[tag=48, body=[107, 144]]
              SET[tag=49, body=[109, 131]]
                SEQUENCE[tag=48, body=[111, 131]]
                  OBJECT IDENTIFIER[tag=6, body=[113, 116]]
                  PRINTABLE STRING[tag=19, body=[118, 131]]
              SET[tag=49, body=[133, 144]]
                SEQUENCE[tag=48, body=[135, 144]]
                  OBJECT IDENTIFIER[tag=6, body=[137, 140]]
                  PRINTABLE STRING[tag=19, body=[142, 144]]
            SEQUENCE[tag=48, body=[146, 176]]
              UTC TIME[tag=23, body=[148, 161]]
              UTC TIME[tag=23, body=[163, 176]]
            SEQUENCE[tag=48, body=[178, 215]]
              SET[tag=49, body=[180, 202]]
                SEQUENCE[tag=48, body=[182, 202]]
                  OBJECT IDENTIFIER[tag=6, body=[184, 187]]
                  PRINTABLE STRING[tag=19, body=[189, 202]]
              SET[tag=49, body=[204, 215]]
                SEQUENCE[tag=48, body=[206, 215]]
                  OBJECT IDENTIFIER[tag=6, body=[208, 211]]
                  PRINTABLE STRING[tag=19, body=[213, 215]]
            SEQUENCE[tag=48, body=[218, 377]]
              SEQUENCE[tag=48, body=[220, 233]]
                OBJECT IDENTIFIER[tag=6, body=[222, 231]]
                NULL[tag=5, body=[233, 233]]
              BIT STRING[tag=3, body=[236, 377]]
            [3][tag=163, body=[379, 456]]
              SEQUENCE[tag=48, body=[381, 456]]
                SEQUENCE[tag=48, body=[383, 412]]
                  OBJECT IDENTIFIER[tag=6, body=[385, 388]]
                  OCTET STRING[tag=4, body=[390, 412]]
                SEQUENCE[tag=48, body=[414, 445]]
                  OBJECT IDENTIFIER[tag=6, body=[416, 419]]
                  OCTET STRING[tag=4, body=[421, 445]]
                SEQUENCE[tag=48, body=[447, 456]]
                  OBJECT IDENTIFIER[tag=6, body=[449, 452]]
                  OCTET STRING[tag=4, body=[454, 456]]
          SEQUENCE[tag=48, body=[458, 471]]
            OBJECT IDENTIFIER[tag=6, body=[460, 469]]
            NULL[tag=5, body=[471, 471]]
          BIT STRING[tag=3, body=[474, 603]]
        SEQUENCE[tag=48, body=[607, 1196]]
          SEQUENCE[tag=48, body=[611, 1049]]
            [0][tag=160, body=[613, 616]]
              INTEGER[tag=2, body=[615, 616]]
            INTEGER[tag=2, body=[618, 619]]
            SEQUENCE[tag=48, body=[621, 634]]
              OBJECT IDENTIFIER[tag=6, body=[623, 632]]
              NULL[tag=5, body=[634, 634]]
            SEQUENCE[tag=48, body=[636, 673]]
              SET[tag=49, body=[638, 660]]
                SEQUENCE[tag=48, body=[640, 660]]
                  OBJECT IDENTIFIER[tag=6, body=[642, 645]]
                  PRINTABLE STRING[tag=19, body=[647, 660]]
              SET[tag=49, body=[662, 673]]
                SEQUENCE[tag=48, body=[664, 673]]
                  OBJECT IDENTIFIER[tag=6, body=[666, 669]]
                  PRINTABLE STRING[tag=19, body=[671, 673]]
            SEQUENCE[tag=48, body=[675, 705]]
              UTC TIME[tag=23, body=[677, 690]]
              UTC TIME[tag=23, body=[692, 705]]
            SEQUENCE[tag=48, body=[707, 808]]
              SET[tag=49, body=[709, 733]]
                SEQUENCE[tag=48, body=[711, 733]]
                  OBJECT IDENTIFIER[tag=6, body=[713, 716]]
                  PRINTABLE STRING[tag=19, body=[718, 733]]
              SET[tag=49, body=[735, 771]]
                SEQUENCE[tag=48, body=[737, 771]]
                  OBJECT IDENTIFIER[tag=6, body=[739, 748]]
                  IA5 STRING[tag=22, body=[750, 771]]
              SET[tag=49, body=[773, 795]]
                SEQUENCE[tag=48, body=[775, 795]]
                  OBJECT IDENTIFIER[tag=6, body=[777, 780]]
                  PRINTABLE STRING[tag=19, body=[782, 795]]
              SET[tag=49, body=[797, 808]]
                SEQUENCE[tag=48, body=[799, 808]]
                  OBJECT IDENTIFIER[tag=6, body=[801, 804]]
                  PRINTABLE STRING[tag=19, body=[806, 808]]
            SEQUENCE[tag=48, body=[811, 970]]
              SEQUENCE[tag=48, body=[813, 826]]
                OBJECT IDENTIFIER[tag=6, body=[815, 824]]
                NULL[tag=5, body=[826, 826]]
              BIT STRING[tag=3, body=[829, 970]]
            [3][tag=163, body=[972, 1049]]
              SEQUENCE[tag=48, body=[974, 1049]]
                SEQUENCE[tag=48, body=[976, 1005]]
                  OBJECT IDENTIFIER[tag=6, body=[978, 981]]
                  OCTET STRING[tag=4, body=[983, 1005]]
                SEQUENCE[tag=48, body=[1007, 1038]]
                  OBJECT IDENTIFIER[tag=6, body=[1009, 1012]]
                  OCTET STRING[tag=4, body=[1014, 1038]]
                SEQUENCE[tag=48, body=[1040, 1049]]
                  OBJECT IDENTIFIER[tag=6, body=[1042, 1045]]
                  OCTET STRING[tag=4, body=[1047, 1049]]
          SEQUENCE[tag=48, body=[1051, 1064]]
            OBJECT IDENTIFIER[tag=6, body=[1053, 1062]]
            NULL[tag=5, body=[1064, 1064]]
          BIT STRING[tag=3, body=[1067, 1196]]
      SET[tag=49, body=[1200, 1503]]
        SEQUENCE[tag=48, body=[1204, 1503]]
          INTEGER[tag=2, body=[1206, 1207]]
          SEQUENCE[tag=48, body=[1209, 1251]]
            SEQUENCE[tag=48, body=[1211, 1248]]
              SET[tag=49, body=[1213, 1235]]
                SEQUENCE[tag=48, body=[1215, 1235]]
                  OBJECT IDENTIFIER[tag=6, body=[1217, 1220]]
                  PRINTABLE STRING[tag=19, body=[1222, 1235]]
              SET[tag=49, body=[1237, 1248]]
                SEQUENCE[tag=48, body=[1239, 1248]]
                  OBJECT IDENTIFIER[tag=6, body=[1241, 1244]]
                  PRINTABLE STRING[tag=19, body=[1246, 1248]]
            INTEGER[tag=2, body=[1250, 1251]]
          SEQUENCE[tag=48, body=[1253, 1262]]
            OBJECT IDENTIFIER[tag=6, body=[1255, 1260]]
            NULL[tag=5, body=[1262, 1262]]
          [0][tag=160, body=[1264, 1357]]
            SEQUENCE[tag=48, body=[1266, 1290]]
              OBJECT IDENTIFIER[tag=6, body=[1268, 1277]]
              SET[tag=49, body=[1279, 1290]]
                OBJECT IDENTIFIER[tag=6, body=[1281, 1290]]
            SEQUENCE[tag=48, body=[1292, 1320]]
              OBJECT IDENTIFIER[tag=6, body=[1294, 1303]]
              SET[tag=49, body=[1305, 1320]]
                UTC TIME[tag=23, body=[1307, 1320]]
            SEQUENCE[tag=48, body=[1322, 1357]]
              OBJECT IDENTIFIER[tag=6, body=[1324, 1333]]
              SET[tag=49, body=[1335, 1357]]
                OCTET STRING[tag=4, body=[1337, 1357]]
          SEQUENCE[tag=48, body=[1359, 1372]]
            OBJECT IDENTIFIER[tag=6, body=[1361, 1370]]
            NULL[tag=5, body=[1372, 1372]]
          OCTET STRING[tag=4, body=[1375, 1503]]

-----Original Message-----
From: Kai Zheng (JIRA) [mailto:jira@apache.org] 
Sent: Wednesday, December 02, 2015 10:41 PM
To: dev@directory.apache.org
Subject: [jira] [Created] (DIRKRB-485) Provide an ASN1 dumping tool for troubleshooting

Kai Zheng created DIRKRB-485:
--------------------------------

             Summary: Provide an ASN1 dumping tool for troubleshooting
                 Key: DIRKRB-485
                 URL: https://issues.apache.org/jira/browse/DIRKRB-485
             Project: Directory Kerberos
          Issue Type: Improvement
            Reporter: Kai Zheng
            Assignee: Kai Zheng


This will provide a workable and useful ASN1 dumping tool to help analyze ASN1 encoding stream or packet. It can be used to exercise the framework with all kinds of testing binary inputs. The output should look pretty and informative.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)