aboutsummaryrefslogtreecommitdiffstats
path: root/src/tests/data
diff options
context:
space:
mode:
authorJack Lloyd <[email protected]>2018-01-03 12:11:19 -0500
committerJack Lloyd <[email protected]>2018-01-03 12:21:37 -0500
commit90d166094e07f20f6321da3d0ae5e70b6a7c89b8 (patch)
tree8c694e7c1b5a7fa1ef7f1f92301eb52a0b07cbd8 /src/tests/data
parenta763fd97c32fb3f796bbafcfd72994ddbee0f6e1 (diff)
Improve output of the ASN1 printer
The output was pretty much wrong for application-tagged types. Instead the type was printed as if it was a universal tag. Add a hack in the ASN1 printer for GeneralNames. These are a commonly used implicitly tagged type. Basically if it is a context specific field, and it looks like it might be a printable URI or DNS GeneralName, treat it as a string.
Diffstat (limited to 'src/tests/data')
-rw-r--r--[-rwxr-xr-x]src/tests/data/asn1_print/input3.derbin402 -> 402 bytes
-rw-r--r--[-rwxr-xr-x]src/tests/data/asn1_print/input4.derbin238 -> 238 bytes
-rw-r--r--src/tests/data/asn1_print/input5.derbin0 -> 1783 bytes
-rw-r--r--src/tests/data/asn1_print/output3.txt28
-rw-r--r--src/tests/data/asn1_print/output4.txt12
-rw-r--r--src/tests/data/asn1_print/output5.txt134
6 files changed, 154 insertions, 20 deletions
diff --git a/src/tests/data/asn1_print/input3.der b/src/tests/data/asn1_print/input3.der
index 00f09b618..00f09b618 100755..100644
--- a/src/tests/data/asn1_print/input3.der
+++ b/src/tests/data/asn1_print/input3.der
Binary files differ
diff --git a/src/tests/data/asn1_print/input4.der b/src/tests/data/asn1_print/input4.der
index 09a14bbb4..09a14bbb4 100755..100644
--- a/src/tests/data/asn1_print/input4.der
+++ b/src/tests/data/asn1_print/input4.der
Binary files differ
diff --git a/src/tests/data/asn1_print/input5.der b/src/tests/data/asn1_print/input5.der
new file mode 100644
index 000000000..7e0ed5686
--- /dev/null
+++ b/src/tests/data/asn1_print/input5.der
Binary files differ
diff --git a/src/tests/data/asn1_print/output3.txt b/src/tests/data/asn1_print/output3.txt
index 38a5f74fb..b4701a3bc 100644
--- a/src/tests/data/asn1_print/output3.txt
+++ b/src/tests/data/asn1_print/output3.txt
@@ -1,20 +1,20 @@
d= 0, l= 397: cons [33] appl
d= 1, l= 333: cons [78] appl
- d= 2, l= 1: TAG(41) 5F290100
- d= 2, l= 16: INTEGER Bx10DECVCx7fEPASS00001
+ d= 2, l= 1: [41] appl 5F290100
+ d= 2, l= 16: [2] appl 421044454356437F45504153533030303031
d= 2, l= 253: cons [73] appl
d= 3, l= 10: OBJECT 0.4.0.127.0.7.2.2.2.2.2
- d= 3, l= 28: BOOLEAN 811CD7C134AA264366862A18302575D1D787B09F075797DA89F57EC8C0FF
- d= 3, l= 28: INTEGER 821C68A5E62CA9CE6C1C299803A6C1530B514E182AD8B0042A59CAD29F43
- d= 3, l= 28: BIT STRING 831C2580F63CCFE44138870713B1A92369E33E2135D266DBB372386C400B
- d= 3, l= 57: OCTET STRING 8439040D9029AD2C7E5CF4340823B2A87DC68C9E4CE3174C1E6EFDEE12C07D58AA56F772C0726F24C6B89E4ECDAC24354B9E99CAA3F6D3761402CD
- d= 3, l= 28: NULL 851CD7C134AA264366862A18302575D0FB98D116BC4B6DDEBCA3A5A7939F
- d= 3, l= 57: OBJECT 8639045FE7B42614096E67E3B25675EFBBD94B9F1244B17228F109F07856D285867B1F72FA60E4929D88C0BF61035A7C3ECF17CA2C81532308C390
- d= 3, l= 1: TAG(7) 870101
- d= 2, l= 16: TAG(32) x5fx20x10DECVCAEPASS00001
+ d= 3, l= 28: [1] context 811CD7C134AA264366862A18302575D1D787B09F075797DA89F57EC8C0FF
+ d= 3, l= 28: [2] context 821C68A5E62CA9CE6C1C299803A6C1530B514E182AD8B0042A59CAD29F43
+ d= 3, l= 28: [3] context 831C2580F63CCFE44138870713B1A92369E33E2135D266DBB372386C400B
+ d= 3, l= 57: [4] context 8439040D9029AD2C7E5CF4340823B2A87DC68C9E4CE3174C1E6EFDEE12C07D58AA56F772C0726F24C6B89E4ECDAC24354B9E99CAA3F6D3761402CD
+ d= 3, l= 28: [5] context 851CD7C134AA264366862A18302575D0FB98D116BC4B6DDEBCA3A5A7939F
+ d= 3, l= 57: [6] context 8639045FE7B42614096E67E3B25675EFBBD94B9F1244B17228F109F07856D285867B1F72FA60E4929D88C0BF61035A7C3ECF17CA2C81532308C390
+ d= 3, l= 1: [7] context 870101
+ d= 2, l= 16: [32] appl 5F201044454356434145504153533030303031
d= 2, l= 14: cons [76] appl
d= 3, l= 9: OBJECT 0.4.0.127.0.7.3.1.2.1
- d= 3, l= 1: PRINTABLE STRING 5301C1
- d= 2, l= 6: TAG(37) 5F2506000700080108
- d= 2, l= 6: TAG(36) 5F2406010000080108
- d= 1, l= 56: TAG(55) 5F37386978982008CBD24950ADBECEE03A1675660B7FAFBD2D77CF17A5D128CFD9609B5BD0518D28D4D212CAE337F4F47495EDE92C0D7D15EA657D
+ d= 3, l= 1: [19] appl 5301C1
+ d= 2, l= 6: [37] appl 5F2506000700080108
+ d= 2, l= 6: [36] appl 5F2406010000080108
+ d= 1, l= 56: [55] appl 5F37386978982008CBD24950ADBECEE03A1675660B7FAFBD2D77CF17A5D128CFD9609B5BD0518D28D4D212CAE337F4F47495EDE92C0D7D15EA657D
diff --git a/src/tests/data/asn1_print/output4.txt b/src/tests/data/asn1_print/output4.txt
index ed27ed5f8..06b1e0f9c 100644
--- a/src/tests/data/asn1_print/output4.txt
+++ b/src/tests/data/asn1_print/output4.txt
@@ -1,11 +1,11 @@
d= 0, l= 235: cons [7] appl
d= 1, l= 154: cons [33] appl
d= 2, l= 92: cons [78] appl
- d= 3, l= 1: TAG(41) 5F290100
+ d= 3, l= 1: [41] appl 5F290100
d= 3, l= 71: cons [73] appl
d= 4, l= 10: OBJECT 0.4.0.127.0.7.2.2.2.2.2
- d= 4, l= 57: OBJECT 8639044E4EC55A2E6596F030E7FA5CD42BBC034891A0A8C1EF7C1A007A8047B6D5A883C1D5E2A8FC7CE08CF7F07B063EB8EE3E2AF1836BE7DA1577
- d= 3, l= 11: TAG(32) 5F200B444531222A20237EFF20AD
- d= 2, l= 56: TAG(55) 5F3738571A971D19B664F9B03AEF178D32E5EDF9DB5C4945D449D5E4AE63B102DABFF3D4DF00D1BC83BB582981D6B48ED41F89F0FC628C7F89A0F5
- d= 1, l= 16: INTEGER 4210444531222A20237EFF20AD3030303130
- d= 1, l= 56: TAG(55) 5F3738423A93F9E40B0A3488AF6F716848531A24BAB3A2613BD6D830470D2936B1F93061A00A4B6BAA9C3A180272A60F91FD975DB3CF8D8179370C
+ d= 4, l= 57: [6] context 8639044E4EC55A2E6596F030E7FA5CD42BBC034891A0A8C1EF7C1A007A8047B6D5A883C1D5E2A8FC7CE08CF7F07B063EB8EE3E2AF1836BE7DA1577
+ d= 3, l= 11: [32] appl 5F200B444531222A20237EFF20AD
+ d= 2, l= 56: [55] appl 5F3738571A971D19B664F9B03AEF178D32E5EDF9DB5C4945D449D5E4AE63B102DABFF3D4DF00D1BC83BB582981D6B48ED41F89F0FC628C7F89A0F5
+ d= 1, l= 16: [2] appl 4210444531222A20237EFF20AD3030303130
+ d= 1, l= 56: [55] appl 5F3738423A93F9E40B0A3488AF6F716848531A24BAB3A2613BD6D830470D2936B1F93061A00A4B6BAA9C3A180272A60F91FD975DB3CF8D8179370C
diff --git a/src/tests/data/asn1_print/output5.txt b/src/tests/data/asn1_print/output5.txt
new file mode 100644
index 000000000..4769b98ee
--- /dev/null
+++ b/src/tests/data/asn1_print/output5.txt
@@ -0,0 +1,134 @@
+ d= 0, l=1779: SEQUENCE
+ d= 1, l=1499: SEQUENCE
+ d= 2, l= 3: cons [0] context
+ d= 3, l= 1: INTEGER 02
+ d= 2, l= 16: INTEGER 03EB7E1D9B4C4C7B145FF6A902CE81F9
+ d= 2, l= 13: SEQUENCE
+ d= 3, l= 9: OBJECT RSA/EMSA3(SHA-256) [1.2.840.113549.1.1.11]
+ d= 3, l= 0: NULL
+ d= 2, l= 126: SEQUENCE
+ d= 3, l= 11: SET
+ d= 4, l= 9: SEQUENCE
+ d= 5, l= 3: OBJECT X520.Country [2.5.4.6]
+ d= 5, l= 2: PRINTABLE STRING US
+ d= 3, l= 29: SET
+ d= 4, l= 27: SEQUENCE
+ d= 5, l= 3: OBJECT X520.Organization [2.5.4.10]
+ d= 5, l= 20: PRINTABLE STRING Symantec Corporation
+ d= 3, l= 31: SET
+ d= 4, l= 29: SEQUENCE
+ d= 5, l= 3: OBJECT X520.OrganizationalUnit [2.5.4.11]
+ d= 5, l= 22: PRINTABLE STRING Symantec Trust Network
+ d= 3, l= 47: SET
+ d= 4, l= 45: SEQUENCE
+ d= 5, l= 3: OBJECT X520.CommonName [2.5.4.3]
+ d= 5, l= 38: PRINTABLE STRING Symantec Class 3 Secure Server CA - G4
+ d= 2, l= 30: SEQUENCE
+ d= 3, l= 13: UTC TIME 2017/04/07 00:00:00 UTC
+ d= 3, l= 13: UTC TIME 2019/04/08 23:59:59 UTC
+ d= 2, l= 128: SEQUENCE
+ d= 3, l= 11: SET
+ d= 4, l= 9: SEQUENCE
+ d= 5, l= 3: OBJECT X520.Country [2.5.4.6]
+ d= 5, l= 2: PRINTABLE STRING US
+ d= 3, l= 19: SET
+ d= 4, l= 17: SEQUENCE
+ d= 5, l= 3: OBJECT X520.State [2.5.4.8]
+ d= 5, l= 10: UTF8 STRING Washington
+ d= 3, l= 16: SET
+ d= 4, l= 14: SEQUENCE
+ d= 5, l= 3: OBJECT X520.Locality [2.5.4.7]
+ d= 5, l= 7: UTF8 STRING Redmond
+ d= 3, l= 30: SET
+ d= 4, l= 28: SEQUENCE
+ d= 5, l= 3: OBJECT X520.Organization [2.5.4.10]
+ d= 5, l= 21: UTF8 STRING Microsoft Corporation
+ d= 3, l= 14: SET
+ d= 4, l= 12: SEQUENCE
+ d= 5, l= 3: OBJECT X520.OrganizationalUnit [2.5.4.11]
+ d= 5, l= 5: UTF8 STRING MSCOM
+ d= 3, l= 26: SET
+ d= 4, l= 24: SEQUENCE
+ d= 5, l= 3: OBJECT X520.CommonName [2.5.4.3]
+ d= 5, l= 17: UTF8 STRING www.microsoft.com
+ d= 2, l= 290: SEQUENCE
+ d= 3, l= 13: SEQUENCE
+ d= 4, l= 9: OBJECT RSA [1.2.840.113549.1.1.1]
+ d= 4, l= 0: NULL
+ d= 3, l= 271: BIT STRING
+ d= 4, l= 266: SEQUENCE
+ d= 5, l= 257: INTEGER B5AA73E7BDFFA06C6A1D0F0E116386ACB98C55C27EEC1FDF0164539D337F4D66EE0824CE6355927411770262AC284619AE06F2BAADF3D9E03E40850F42846F821AF49219E7EF8434AEF76DB5E3E9F17AFB5CE04E45959B77CC9B55819EC501B5979F345DF10051AC456926A48CD44F0EC8FBD3E8E91D5A76C35C882DC8FA95275AC2150ACF990D4019B96E55497CB1F46A842643C64168DFD8A31AC4A1E808DF710C53363ADAF82B5F62C9A2AAEE1FEC64880D951E7D48BDB3FDF724E25F67F373D2EC1426B7E4BA2B60442A42320D3FEF96640B6E795CF8C4FEB28E1608CB968BBB83B65F96BB5175682095310CE5FD02805AA9273326F7A9E8B33730EB8EDD
+ d= 5, l= 3: INTEGER 010001
+ d= 2, l= 872: cons [3] context
+ d= 3, l= 868: SEQUENCE
+ d= 4, l= 153: SEQUENCE
+ d= 5, l= 3: OBJECT X509v3.SubjectAlternativeName [2.5.29.17]
+ d= 5, l= 145: OCTET STRING
+ d= 6, l= 142: SEQUENCE
+ d= 7, l= 7: [2] context privacy.microsoft.com
+ d= 7, l= 7: [2] context c.s-microsoft.com
+ d= 7, l= 7: [2] context microsoft.com
+ d= 7, l= 7: [2] context i.s-microsoft.com
+ d= 7, l= 7: [2] context staticview.microsoft.com
+ d= 7, l= 7: [2] context www.microsoft.com
+ d= 7, l= 7: [2] context wwwqa.microsoft.com
+ d= 4, l= 9: SEQUENCE
+ d= 5, l= 3: OBJECT X509v3.BasicConstraints [2.5.29.19]
+ d= 5, l= 2: OCTET STRING
+ d= 6, l= 0: SEQUENCE
+ d= 4, l= 14: SEQUENCE
+ d= 5, l= 3: OBJECT X509v3.KeyUsage [2.5.29.15]
+ d= 5, l= 1: BOOLEAN true
+ d= 5, l= 4: OCTET STRING
+ d= 6, l= 2: BIT STRING A0
+ d= 4, l= 29: SEQUENCE
+ d= 5, l= 3: OBJECT X509v3.ExtendedKeyUsage [2.5.29.37]
+ d= 5, l= 22: OCTET STRING
+ d= 6, l= 20: SEQUENCE
+ d= 7, l= 8: OBJECT PKIX.ServerAuth [1.3.6.1.5.5.7.3.1]
+ d= 7, l= 8: OBJECT PKIX.ClientAuth [1.3.6.1.5.5.7.3.2]
+ d= 4, l= 97: SEQUENCE
+ d= 5, l= 3: OBJECT X509v3.CertificatePolicies [2.5.29.32]
+ d= 5, l= 90: OCTET STRING
+ d= 6, l= 88: SEQUENCE
+ d= 7, l= 86: SEQUENCE
+ d= 8, l= 6: OBJECT 2.23.140.1.2.2
+ d= 8, l= 76: SEQUENCE
+ d= 9, l= 35: SEQUENCE
+ d=10, l= 8: OBJECT 1.3.6.1.5.5.7.2.1
+ d=10, l= 23: IA5 STRING https://d.symcb.com/cps
+ d= 9, l= 37: SEQUENCE
+ d=10, l= 8: OBJECT 1.3.6.1.5.5.7.2.2
+ d=10, l= 25: SEQUENCE
+ d=11, l= 23: UTF8 STRING https://d.symcb.com/rpa
+ d= 4, l= 31: SEQUENCE
+ d= 5, l= 3: OBJECT X509v3.AuthorityKeyIdentifier [2.5.29.35]
+ d= 5, l= 24: OCTET STRING
+ d= 6, l= 22: SEQUENCE
+ d= 7, l= 20: [0] context 80145F60CF619055DF8443148A602AB2F57AF44318EF
+ d= 4, l= 43: SEQUENCE
+ d= 5, l= 3: OBJECT X509v3.CRLDistributionPoints [2.5.29.31]
+ d= 5, l= 36: OCTET STRING
+ d= 6, l= 34: SEQUENCE
+ d= 7, l= 32: SEQUENCE
+ d= 8, l= 30: cons [0] context
+ d= 9, l= 28: cons [0] context
+ d=10, l= 10: [6] context http://ss.symcb.com/ss.crl
+ d= 4, l= 87: SEQUENCE
+ d= 5, l= 8: OBJECT PKIX.AuthorityInformationAccess [1.3.6.1.5.5.7.1.1]
+ d= 5, l= 75: OCTET STRING
+ d= 6, l= 73: SEQUENCE
+ d= 7, l= 31: SEQUENCE
+ d= 8, l= 8: OBJECT PKIX.OCSP [1.3.6.1.5.5.7.48.1]
+ d= 8, l= 8: [6] context http://ss.symcd.com
+ d= 7, l= 38: SEQUENCE
+ d= 8, l= 8: OBJECT PKIX.CertificateAuthorityIssuers [1.3.6.1.5.5.7.48.2]
+ d= 8, l= 8: [6] context http://ss.symcb.com/ss.crt
+ d= 4, l= 384: SEQUENCE
+ d= 5, l= 10: OBJECT 1.3.6.1.4.1.11129.2.4.2
+ d= 5, l= 368: OCTET STRING
+ d= 6, l= 364: OCTET STRING 016A007600DDEB1D2B7A0D4FA6208B81AD8168707E2E8E9D01D55C888D3D11C4CDB6ECBECC0000015B49E33F30000004030047304502202C120993A99E062A5225B952D481EF4E5EB16E03621BF872A7AAD42A3F16EC23022100C985D52BE92DB9B762A275F2A7E0F49771EA0ACE86743858AA4CF80290DA8145007700A4B90990B418581487BB13A2CC67700A3C359804F91BDFB8E377CD0EC80DDC100000015B49E33F7000000403004830460221008B6517805EB1D97BEC542B71A306D951919A939F2636F2FB040E0DB6028B4C64022100E93EC6DBE9CB33EC35E648B57B8E9C9FC689B41E7F16BEA3DF2E925D8689CA57007700EE4BBDB775CE60BAE142691FABE19E66A30F7E5FB072D88300C47B897AA8FDCB0000015B49E3412F0000040300483046022100DC119C89231AE57213DA754DF08E0E8EE64B3761515E473E2FB8364757C56ED6022100C824C1810D0338256ABE99EC7A862AB73EDEA1EF796EA10F79C1E755F1FCC59F
+ d= 1, l= 13: SEQUENCE
+ d= 2, l= 9: OBJECT RSA/EMSA3(SHA-256) [1.2.840.113549.1.1.11]
+ d= 2, l= 0: NULL
+ d= 1, l= 257: BIT STRING 462713C195078A607A226FB4279E2CBA8C363DA6F4696B88677E83E1E8BA5773681BA2EABA141A425CB2E9E065EF2D1037353C7BD31F39C63CB2B0449F0AF1BFBC7E90C175C335437AAED10AA0A15BB67B357E8E9F7DFF2C3D25A467D12878809E114717EEA877175DF255954728BABC5E616B55262EDC494019B6E8301D8D8D676D86731FCECAAF040C6D8D93BA608AD7F76D4065A83BB6E9AEDE3208BE4574213D478764AF0634773B4FA5543AA3523ED795DC1AFC76D8A8AAEA09E0B259ABC6924A82C2F1D5E6F7F18B131EEC9B163CE11A8339FAA52426105F053136B245E51B8BE836EFE6A75671F1FC02CC6F5BF6BE19AE00171E27FE157FD1DC323784