├── suite ├── tc12.ber ├── tc19.ber ├── tc27.ber ├── tc29.ber ├── tc31.ber ├── tc32.ber ├── tc33.ber ├── tc34.ber ├── tc39.ber ├── tc40.ber ├── tc43.ber ├── tc44.ber ├── tc45.ber ├── tc8.ber ├── encoded_tc2.ber ├── encoded_tc3.ber ├── encoded_tc4.ber ├── encoded_tc46.ber ├── encoded_tc6.ber ├── encoded_tc7.ber ├── encoded_tc9.ber ├── tc25.ber ├── tc26.ber ├── tc30.ber ├── tc6.ber ├── tc7.ber ├── encoded_tc11.ber ├── encoded_tc12.ber ├── encoded_tc19.ber ├── encoded_tc21.ber ├── encoded_tc23.ber ├── encoded_tc25.ber ├── encoded_tc26.ber ├── encoded_tc27.ber ├── encoded_tc29.ber ├── encoded_tc30.ber ├── encoded_tc31.ber ├── encoded_tc32.ber ├── encoded_tc33.ber ├── encoded_tc34.ber ├── encoded_tc39.ber ├── encoded_tc40.ber ├── encoded_tc43.ber ├── encoded_tc44.ber ├── encoded_tc45.ber ├── encoded_tc47.ber ├── encoded_tc8.ber ├── tc11.ber ├── tc37.ber ├── tc47.ber ├── encoded_tc37.ber ├── tc1.ber ├── tc2.ber ├── tc3.ber ├── tc4.ber ├── tc5.ber ├── tc9.ber ├── tc10.ber ├── tc13.ber ├── tc14.ber ├── tc15.ber ├── tc16.ber ├── tc17.ber ├── tc18.ber ├── tc20.ber ├── tc21.ber ├── tc22.ber ├── tc23.ber ├── tc24.ber ├── tc28.ber ├── tc35.ber ├── tc36.ber ├── tc38.ber ├── tc41.ber ├── tc42.ber ├── tc46.ber ├── tc48.ber ├── encoded_tc1.ber ├── encoded_tc10.ber ├── encoded_tc13.ber ├── encoded_tc14.ber ├── encoded_tc15.ber ├── encoded_tc16.ber ├── encoded_tc17.ber ├── encoded_tc18.ber ├── encoded_tc20.ber ├── encoded_tc22.ber ├── encoded_tc24.ber ├── encoded_tc28.ber ├── encoded_tc35.ber ├── encoded_tc36.ber ├── encoded_tc38.ber ├── encoded_tc41.ber ├── encoded_tc42.ber ├── encoded_tc48.ber ├── encoded_tc5.ber ├── transformed_tc2.xml ├── transformed_tc32.xml ├── transformed_tc39.xml ├── transformed_tc40.xml ├── transformed_tc45.xml ├── transformed_tc44.xml ├── transformed_tc28.xml ├── transformed_tc29.xml ├── transformed_tc46.xml ├── transformed_tc3.xml ├── transformed_tc4.xml ├── transformed_tc30.xml ├── transformed_tc18.xml ├── transformed_tc35.xml ├── transformed_tc33.xml ├── transformed_tc48.xml ├── transformed_tc41.xml ├── transformed_tc19.xml ├── transformed_tc27.xml ├── transformed_tc20.xml ├── transformed_tc34.xml ├── transformed_tc42.xml ├── transformed_tc11.xml ├── transformed_tc43.xml ├── transformed_tc23.xml ├── transformed_tc1.xml ├── transformed_tc47.xml ├── transformed_tc12.xml ├── transformed_tc25.xml ├── transformed_tc26.xml ├── transformed_tc36.xml ├── transformed_tc9.xml ├── transformed_tc31.xml ├── transformed_tc5.xml ├── transformed_tc8.xml ├── transformed_tc6.xml ├── transformed_tc7.xml ├── transformed_tc10.xml ├── transformed_tc21.xml ├── transformed_tc14.xml ├── transformed_tc15.xml ├── transformed_tc16.xml ├── transformed_tc17.xml ├── transformed_tc13.xml ├── transformed_tc38.xml ├── transformed_tc22.xml ├── transformed_tc37.xml └── transformed_tc24.xml ├── pdf └── free_asn1_testsuite.pdf ├── LICENSE └── README.md /suite/tc12.ber: -------------------------------------------------------------------------------- 1 | I -------------------------------------------------------------------------------- /suite/tc19.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/tc27.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/tc29.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/tc31.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/tc32.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/tc33.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/tc34.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/tc39.ber: -------------------------------------------------------------------------------- 1 | # -------------------------------------------------------------------------------- /suite/tc40.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/tc43.ber: -------------------------------------------------------------------------------- 1 | $ -------------------------------------------------------------------------------- /suite/tc44.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/tc45.ber: -------------------------------------------------------------------------------- 1 | $ -------------------------------------------------------------------------------- /suite/tc8.ber: -------------------------------------------------------------------------------- 1 | A -------------------------------------------------------------------------------- /suite/encoded_tc2.ber: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /suite/encoded_tc3.ber: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /suite/encoded_tc4.ber: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /suite/encoded_tc46.ber: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /suite/encoded_tc6.ber: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /suite/encoded_tc7.ber: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /suite/encoded_tc9.ber: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /suite/tc25.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/tc26.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/tc30.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/tc6.ber: -------------------------------------------------------------------------------- 1 | +0.E-5 -------------------------------------------------------------------------------- /suite/tc7.ber: -------------------------------------------------------------------------------- 1 | -0.E-5 -------------------------------------------------------------------------------- /suite/encoded_tc11.ber: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /suite/encoded_tc12.ber: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /suite/encoded_tc19.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/encoded_tc21.ber: -------------------------------------------------------------------------------- 1 | Q -------------------------------------------------------------------------------- /suite/encoded_tc23.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/encoded_tc25.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/encoded_tc26.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/encoded_tc27.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/encoded_tc29.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/encoded_tc30.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/encoded_tc31.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/encoded_tc32.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/encoded_tc33.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/encoded_tc34.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/encoded_tc39.ber: -------------------------------------------------------------------------------- 1 | # -------------------------------------------------------------------------------- /suite/encoded_tc40.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/encoded_tc43.ber: -------------------------------------------------------------------------------- 1 | $ -------------------------------------------------------------------------------- /suite/encoded_tc44.ber: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /suite/encoded_tc45.ber: -------------------------------------------------------------------------------- 1 | $ -------------------------------------------------------------------------------- /suite/encoded_tc47.ber: -------------------------------------------------------------------------------- 1 | # -------------------------------------------------------------------------------- /suite/encoded_tc8.ber: -------------------------------------------------------------------------------- 1 | A -------------------------------------------------------------------------------- /suite/tc11.ber: -------------------------------------------------------------------------------- 1 |  015625 -------------------------------------------------------------------------------- /suite/tc37.ber: -------------------------------------------------------------------------------- 1 | #  -------------------------------------------------------------------------------- /suite/tc47.ber: -------------------------------------------------------------------------------- 1 | # -------------------------------------------------------------------------------- /suite/encoded_tc37.ber: -------------------------------------------------------------------------------- 1 | #  -------------------------------------------------------------------------------- /suite/tc1.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc1.ber -------------------------------------------------------------------------------- /suite/tc2.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc2.ber -------------------------------------------------------------------------------- /suite/tc3.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc3.ber -------------------------------------------------------------------------------- /suite/tc4.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc4.ber -------------------------------------------------------------------------------- /suite/tc5.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc5.ber -------------------------------------------------------------------------------- /suite/tc9.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc9.ber -------------------------------------------------------------------------------- /suite/tc10.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc10.ber -------------------------------------------------------------------------------- /suite/tc13.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc13.ber -------------------------------------------------------------------------------- /suite/tc14.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc14.ber -------------------------------------------------------------------------------- /suite/tc15.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc15.ber -------------------------------------------------------------------------------- /suite/tc16.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc16.ber -------------------------------------------------------------------------------- /suite/tc17.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc17.ber -------------------------------------------------------------------------------- /suite/tc18.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc18.ber -------------------------------------------------------------------------------- /suite/tc20.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc20.ber -------------------------------------------------------------------------------- /suite/tc21.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc21.ber -------------------------------------------------------------------------------- /suite/tc22.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc22.ber -------------------------------------------------------------------------------- /suite/tc23.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc23.ber -------------------------------------------------------------------------------- /suite/tc24.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc24.ber -------------------------------------------------------------------------------- /suite/tc28.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc28.ber -------------------------------------------------------------------------------- /suite/tc35.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc35.ber -------------------------------------------------------------------------------- /suite/tc36.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc36.ber -------------------------------------------------------------------------------- /suite/tc38.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc38.ber -------------------------------------------------------------------------------- /suite/tc41.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc41.ber -------------------------------------------------------------------------------- /suite/tc42.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc42.ber -------------------------------------------------------------------------------- /suite/tc46.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc46.ber -------------------------------------------------------------------------------- /suite/tc48.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/tc48.ber -------------------------------------------------------------------------------- /suite/encoded_tc1.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/encoded_tc1.ber -------------------------------------------------------------------------------- /suite/encoded_tc10.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/encoded_tc10.ber -------------------------------------------------------------------------------- /suite/encoded_tc13.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/encoded_tc13.ber -------------------------------------------------------------------------------- /suite/encoded_tc14.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/encoded_tc14.ber -------------------------------------------------------------------------------- /suite/encoded_tc15.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/encoded_tc15.ber -------------------------------------------------------------------------------- /suite/encoded_tc16.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/encoded_tc16.ber -------------------------------------------------------------------------------- /suite/encoded_tc17.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/encoded_tc17.ber -------------------------------------------------------------------------------- /suite/encoded_tc18.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/encoded_tc18.ber -------------------------------------------------------------------------------- /suite/encoded_tc20.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/encoded_tc20.ber -------------------------------------------------------------------------------- /suite/encoded_tc22.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/encoded_tc22.ber -------------------------------------------------------------------------------- /suite/encoded_tc24.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/encoded_tc24.ber -------------------------------------------------------------------------------- /suite/encoded_tc28.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/encoded_tc28.ber -------------------------------------------------------------------------------- /suite/encoded_tc35.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/encoded_tc35.ber -------------------------------------------------------------------------------- /suite/encoded_tc36.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/encoded_tc36.ber -------------------------------------------------------------------------------- /suite/encoded_tc38.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/encoded_tc38.ber -------------------------------------------------------------------------------- /suite/encoded_tc41.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/encoded_tc41.ber -------------------------------------------------------------------------------- /suite/encoded_tc42.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/encoded_tc42.ber -------------------------------------------------------------------------------- /suite/encoded_tc48.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/encoded_tc48.ber -------------------------------------------------------------------------------- /suite/encoded_tc5.ber: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/suite/encoded_tc5.ber -------------------------------------------------------------------------------- /pdf/free_asn1_testsuite.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YuryStrozhevsky/ASN1-2008-free-test-suite/HEAD/pdf/free_asn1_testsuite.pdf -------------------------------------------------------------------------------- /suite/transformed_tc2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | End of input reached before message was fully decoded 4 | 5 | End of input reached before message was fully decoded 6 | 7 | 8 | -------------------------------------------------------------------------------- /suite/transformed_tc32.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | false 6 | 5 7 | 8 | 9 | false 10 | false 11 | 0 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /suite/transformed_tc39.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | true 6 | 3 7 | 8 | 9 | false 10 | false 11 | 0 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /suite/transformed_tc40.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | false 6 | 3 7 | 8 | 9 | false 10 | false 11 | 0 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /suite/transformed_tc45.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | true 6 | 4 7 | 8 | 9 | false 10 | false 11 | 0 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /suite/transformed_tc44.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | false 6 | 4 7 | 8 | 9 | false 10 | false 11 | 0 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /suite/transformed_tc28.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | false 6 | 1 7 | 8 | 9 | false 10 | false 11 | 1 12 | 13 | 14 | FF 15 | 16 | 17 | -------------------------------------------------------------------------------- /suite/transformed_tc29.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | false 6 | 1 7 | 8 | 9 | false 10 | false 11 | 1 12 | 13 | 14 | 00 15 | 16 | 17 | -------------------------------------------------------------------------------- /suite/transformed_tc46.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Indefinite length form used for primitive encoding form 4 | 5 | UNIVERSAL 6 | false 7 | 3 8 | 9 | 10 | true 11 | false 12 | 0 13 | 14 | 15 | -------------------------------------------------------------------------------- /suite/transformed_tc3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | No length block encoded 4 | 5 | 6 | Tag too long, represented as hex-coded 7 | 8 | CONTEXT_SPECIFIC 9 | false 10 | 7F 7F 7F 7F 7F 7F 7F 7F 7F 11 | 12 | 13 | No length block encoded 14 | 15 | 16 | -------------------------------------------------------------------------------- /suite/transformed_tc4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Length block 0xFF is reserved by standard 4 | 5 | 6 | Tag too long, represented as hex-coded 7 | 8 | CONTEXT_SPECIFIC 9 | false 10 | 7F 7F 7F 7F 7F 7F 7F 7F 7F 11 | 12 | 13 | Length block 0xFF is reserved by standard 14 | 15 | 16 | -------------------------------------------------------------------------------- /suite/transformed_tc30.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | false 6 | 5 7 | 8 | 9 | false 10 | false 11 | 3 12 | 13 | 14 | 15 | Non-zero length of value block for NULL type 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /suite/transformed_tc18.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | false 6 | 2 7 | 8 | 9 | false 10 | false 11 | 3 12 | 13 | 14 | 15 | Needlessly long format 16 | 17 | -4095 18 | 19 | 20 | -------------------------------------------------------------------------------- /suite/transformed_tc35.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | BIT STRING may consists of BIT STRINGs only 4 | 5 | UNIVERSAL 6 | true 7 | 3 8 | 9 | 10 | true 11 | false 12 | 0 13 | 14 | 15 | BIT STRING may consists of BIT STRINGs only 16 | 17 | 18 | -------------------------------------------------------------------------------- /suite/transformed_tc33.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Unused bits for BITSTRING must be in range 0-7 4 | 5 | UNIVERSAL 6 | false 7 | 3 8 | 9 | 10 | false 11 | false 12 | 2 13 | 14 | 15 | Unused bits for BITSTRING must be in range 0-7 16 | 17 | 18 | -------------------------------------------------------------------------------- /suite/transformed_tc48.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Unused bits for BITSTRING must be in range 0-7 4 | 5 | UNIVERSAL 6 | true 7 | 3 8 | 9 | 10 | true 11 | false 12 | 0 13 | 14 | 15 | Unused bits for BITSTRING must be in range 0-7 16 | 17 | 18 | -------------------------------------------------------------------------------- /suite/transformed_tc41.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | OCTET STRING may consists of OCTET STRINGs only 4 | 5 | UNIVERSAL 6 | true 7 | 4 8 | 9 | 10 | true 11 | false 12 | 0 13 | 14 | 15 | OCTET STRING may consists of OCTET STRINGs only 16 | 17 | 18 | -------------------------------------------------------------------------------- /suite/transformed_tc19.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | End of input reached before message was fully decoded 4 | 5 | UNIVERSAL 6 | false 7 | 2 8 | 9 | 10 | false 11 | false 12 | 1 13 | 14 | 15 | End of input reached before message was fully decoded 16 | 17 | 18 | -------------------------------------------------------------------------------- /suite/transformed_tc27.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | End of input reached before message was fully decoded 4 | 5 | UNIVERSAL 6 | false 7 | 1 8 | 9 | 10 | false 11 | false 12 | 3 13 | 14 | 15 | End of input reached before message was fully decoded 16 | 17 | 18 | -------------------------------------------------------------------------------- /suite/transformed_tc20.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | false 6 | 2 7 | 8 | 9 | false 10 | false 11 | 9 12 | 13 | 14 | 15 | Too big REAL for decoding, hex only 16 | 17 | 80 00 01 01 01 01 01 01 01 18 | 19 | 20 | -------------------------------------------------------------------------------- /suite/transformed_tc34.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | End of input reached before message was fully decoded 4 | 5 | UNIVERSAL 6 | false 7 | 3 8 | 9 | 10 | false 11 | false 12 | 2 13 | 14 | 15 | End of input reached before message was fully decoded 16 | 17 | 18 | -------------------------------------------------------------------------------- /suite/transformed_tc42.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | End of input reached before message was fully decoded 4 | 5 | UNIVERSAL 6 | true 7 | 4 8 | 9 | 10 | true 11 | false 12 | 0 13 | 14 | 15 | End of input reached before message was fully decoded 16 | 17 | 18 | -------------------------------------------------------------------------------- /suite/transformed_tc11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Wrong NR form 4 | 5 | UNIVERSAL 6 | false 7 | 9 8 | 9 | 10 | false 11 | false 12 | 9 13 | 14 | 15 | Wrong NR form 16 | 17 | Wrong NR form 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /suite/transformed_tc43.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | End of input reached before message was fully decoded 4 | 5 | UNIVERSAL 6 | true 7 | 4 8 | 9 | 10 | false 11 | false 12 | 3 13 | 14 | 15 | End of input reached before message was fully decoded 16 | 17 | 18 | -------------------------------------------------------------------------------- /suite/transformed_tc23.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | End of input reached before message was fully decoded 4 | 5 | UNIVERSAL 6 | false 7 | 6 8 | 9 | 10 | false 11 | false 12 | 17 13 | 14 | 15 | End of input reached before message was fully decoded 16 | 17 | 18 | -------------------------------------------------------------------------------- /suite/transformed_tc1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Tag too long, represented as hex-coded 6 | 7 | CONTEXT_SPECIFIC 8 | false 9 | 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 10 | 11 | 12 | false 13 | false 14 | 1 15 | 16 | 17 | 40 18 | 19 | 20 | -------------------------------------------------------------------------------- /suite/transformed_tc47.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | EOC is unexpected, BIT STRING may consists of BIT STRINGs only 4 | 5 | UNIVERSAL 6 | true 7 | 3 8 | 9 | 10 | false 11 | false 12 | 14 13 | 14 | 15 | EOC is unexpected, BIT STRING may consists of BIT STRINGs only 16 | 17 | 18 | -------------------------------------------------------------------------------- /suite/transformed_tc12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Unknown special REAL value 4 | 5 | UNIVERSAL 6 | false 7 | 9 8 | 9 | 10 | false 11 | false 12 | 1 13 | 14 | 15 | Unknown special REAL value 16 | 17 | Unknown special REAL value 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /suite/transformed_tc25.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | false 6 | 1 7 | 8 | 9 | false 10 | false 11 | 3 12 | 13 | 14 | 15 | Needlessly long format 16 | BOOLEAN value encoded in more then 1 octet 17 | 18 | 00 00 00 19 | 20 | 21 | -------------------------------------------------------------------------------- /suite/transformed_tc26.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | false 6 | 1 7 | 8 | 9 | false 10 | false 11 | 3 12 | 13 | 14 | 15 | Needlessly long format 16 | BOOLEAN value encoded in more then 1 octet 17 | 18 | 00 00 01 19 | 20 | 21 | -------------------------------------------------------------------------------- /suite/transformed_tc36.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Usign of "unused bits" inside constructive BIT STRING allowed for least one only 4 | 5 | UNIVERSAL 6 | true 7 | 3 8 | 9 | 10 | true 11 | false 12 | 0 13 | 14 | 15 | Usign of "unused bits" inside constructive BIT STRING allowed for least one only 16 | 17 | 18 | -------------------------------------------------------------------------------- /suite/transformed_tc9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Encoded reserved value with BASE (11) 4 | 5 | UNIVERSAL 6 | false 7 | 9 8 | 9 | 10 | false 11 | false 12 | 3 13 | 14 | 15 | Encoded reserved value with BASE (11) 16 | 17 | Encoded reserved value with BASE (11) 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /suite/transformed_tc31.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | End of input reached before message was fully decoded 4 | 5 | UNIVERSAL 6 | false 7 | 5 8 | 9 | 10 | false 11 | false 12 | 3 13 | 14 | 15 | 16 | Non-zero length of value block for NULL type 17 | 18 | End of input reached before message was fully decoded 19 | 20 | 21 | -------------------------------------------------------------------------------- /suite/transformed_tc5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Tag too long, represented as hex-coded 6 | 7 | CONTEXT_SPECIFIC 8 | false 9 | 7F 7F 7F 7F 7F 7F 7F 7F 7F 10 | 11 | 12 | 13 | Unneccesary usage of long length form 14 | 15 | false 16 | true 17 | 1 18 | 19 | 20 | 40 21 | 22 | 23 | -------------------------------------------------------------------------------- /suite/transformed_tc8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | false 6 | 9 7 | 8 | 9 | false 10 | false 11 | 3 12 | 13 | 14 | 15 | 16 | Special REAL value should be encoded by 1 octet only 17 | 18 | true 19 | MINUS-INFINITY 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /suite/transformed_tc6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | false 6 | 9 7 | 8 | 9 | false 10 | false 11 | 7 12 | 13 | 14 | 15 | REAL values for +0 and -0 can not be encoded in decimal format 16 | 17 | 18 | false 19 | 10 20 | 3 21 | 22 | 23 | true 24 | 2B 2E 45 2D 35 25 | 26 | +.E-5 27 | 28 | 29 | -------------------------------------------------------------------------------- /suite/transformed_tc7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | false 6 | 9 7 | 8 | 9 | false 10 | false 11 | 7 12 | 13 | 14 | 15 | REAL values for +0 and -0 can not be encoded in decimal format 16 | 17 | 18 | false 19 | 10 20 | 3 21 | 22 | 23 | true 24 | 2D 2E 45 2D 35 25 | 26 | -.E-5 27 | 28 | 29 | -------------------------------------------------------------------------------- /suite/transformed_tc10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | false 6 | 9 7 | 8 | 9 | false 10 | false 11 | 7 12 | 13 | 14 | 15 | false 16 | 2 17 | 0 18 | false 19 | 4 20 | 21 | 22 | 23 | Needlessly long format 24 | 25 | false 26 | -5 27 | 28 | 29 | false 30 | 5 31 | 32 | 0.156250 33 | 34 | 35 | -------------------------------------------------------------------------------- /suite/transformed_tc21.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | false 6 | 6 7 | 8 | 9 | false 10 | false 11 | 6 12 | 13 | 14 | 15 | 16 | 17 | Needlessly long format of SID encoding 18 | 19 | true 20 | false 21 | 81 22 | 23 | 24 | 25 | Needlessly long format of SID encoding 26 | 27 | false 28 | false 29 | 1 30 | 31 | 32 | false 33 | 2.1.1 34 | 35 | 36 | -------------------------------------------------------------------------------- /suite/transformed_tc14.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | End of input reached before message was fully decoded 4 | 5 | UNIVERSAL 6 | false 7 | 9 8 | 9 | 10 | 11 | Needlessly long encoded length 12 | Unneccesary usage of long length form 13 | 14 | false 15 | true 16 | 7 17 | 18 | 19 | End of input reached before message was fully decoded 20 | 21 | false 22 | 2 23 | 0 24 | false 25 | 4 26 | 27 | 28 | End of input reached before message was fully decoded 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /suite/transformed_tc15.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | false 6 | 9 7 | 8 | 9 | false 10 | false 11 | 12 12 | 13 | 14 | 15 | false 16 | 2 17 | 0 18 | false 19 | 4 20 | 21 | 22 | 23 | Too big REAL exponent block for decoding, hex only 24 | 25 | true 26 | 09 7F FF FF FF FF FF FF FF FB 27 | 28 | 29 | false 30 | 5 31 | 32 | 5 * 2^{09 7F FF FF FF FF FF FF FF FB} 33 | 34 | 35 | -------------------------------------------------------------------------------- /suite/transformed_tc16.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | false 6 | 9 7 | 8 | 9 | false 10 | false 11 | 12 12 | 13 | 14 | 15 | false 16 | 2 17 | 0 18 | false 19 | 1 20 | 21 | 22 | false 23 | -5 24 | 25 | 26 | 27 | Too big REAL mantissa for decoding, hex only 28 | 29 | true 30 | 05 05 05 05 05 05 05 05 05 05 31 | 32 | {05 05 05 05 05 05 05 05 05 05} * 2^-5 33 | 34 | 35 | -------------------------------------------------------------------------------- /suite/transformed_tc17.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | false 6 | 9 7 | 8 | 9 | false 10 | false 11 | 20 12 | 13 | 14 | 15 | false 16 | 16 17 | 3 18 | false 19 | 4 20 | 21 | 22 | 23 | Too big REAL exponent block for decoding, hex only 24 | 25 | true 26 | 09 FE FF FF FF FF FF FF FF FF 27 | 28 | 29 | 30 | Too big REAL mantissa for decoding, hex only 31 | 32 | true 33 | 05 05 05 05 05 05 05 05 05 34 | 35 | {05 05 05 05 05 05 05 05 05} * 16^{09 FE FF FF FF FF FF FF FF FF} * 2^3 36 | 37 | 38 | -------------------------------------------------------------------------------- /suite/transformed_tc13.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | End of input reached before message was fully decoded 4 | 5 | UNIVERSAL 6 | false 7 | 9 8 | 9 | 10 | 11 | Needlessly long encoded length 12 | Unneccesary usage of long length form 13 | 14 | false 15 | true 16 | 7 17 | 18 | 19 | End of input reached before message was fully decoded 20 | 21 | false 22 | 2 23 | 0 24 | false 25 | 4 26 | 27 | 28 | 29 | Needlessly long format 30 | 31 | false 32 | -5 33 | 34 | 35 | End of input reached before message was fully decoded 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014, Yury Strozhevsky 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 15 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 17 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 18 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 20 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 21 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 22 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /suite/transformed_tc38.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | true 6 | 3 7 | 8 | 9 | true 10 | false 11 | 0 12 | 13 | 14 | 15 | 16 | UNIVERSAL 17 | false 18 | 3 19 | 20 | 21 | false 22 | false 23 | 3 24 | 25 | 26 | 0 27 | 0000 1010 0011 1011 28 | 29 | 30 | 31 | 32 | UNIVERSAL 33 | false 34 | 3 35 | 36 | 37 | false 38 | false 39 | 5 40 | 41 | 42 | 4 43 | 0101 1111 0010 1001 0001 1100 1101 0000 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /suite/transformed_tc22.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | false 6 | 6 7 | 8 | 9 | false 10 | false 11 | 16 12 | 13 | 14 | 15 | 16 | 17 | Too big SID for decoding, hex only 18 | 19 | true 20 | true 21 | 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 0F 22 | 23 | 24 | false 25 | false 26 | 643 27 | 28 | 29 | false 30 | false 31 | 2 32 | 33 | 34 | false 35 | false 36 | 2 37 | 38 | 39 | false 40 | false 41 | 3 42 | 43 | 44 | true 45 | 2.{{7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 0F} - 80}.643.2.2.3 46 | 47 | 48 | -------------------------------------------------------------------------------- /suite/transformed_tc37.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | true 6 | 3 7 | 8 | 9 | false 10 | false 11 | 12 12 | 13 | 14 | 15 | 16 | UNIVERSAL 17 | false 18 | 3 19 | 20 | 21 | false 22 | false 23 | 2 24 | 25 | 26 | 0 27 | 0000 0001 28 | 29 | 30 | 31 | 32 | UNIVERSAL 33 | false 34 | 3 35 | 36 | 37 | false 38 | false 39 | 2 40 | 41 | 42 | 0 43 | 0000 0001 44 | 45 | 46 | 47 | 48 | UNIVERSAL 49 | false 50 | 3 51 | 52 | 53 | false 54 | false 55 | 2 56 | 57 | 58 | 4 59 | 0000 1111 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /suite/transformed_tc24.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | UNIVERSAL 5 | false 6 | 6 7 | 8 | 9 | false 10 | false 11 | 21 12 | 13 | 14 | 15 | 16 | true 17 | false 18 | 10080 19 | 20 | 21 | false 22 | false 23 | 840 24 | 25 | 26 | false 27 | false 28 | 135119 29 | 30 | 31 | false 32 | false 33 | 9 34 | 35 | 36 | false 37 | false 38 | 2 39 | 40 | 41 | false 42 | false 43 | 12301002 44 | 45 | 46 | false 47 | false 48 | 12132323 49 | 50 | 51 | false 52 | false 53 | 191919 54 | 55 | 56 | false 57 | false 58 | 2 59 | 60 | 61 | false 62 | 2.10000.840.135119.9.2.12301002.12132323.191919.2 63 | 64 | 65 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | In 2012 I wrote my [article](http://www.strozhevsky.com/free_docs/asn1_in_simple_words.pdf) about ASN.1. Right after I finished it I recognized that there are no really free ASN.1:2008 test suites. Because of (IMHO) there are many errors/mistakes/misunderstandings in existing ASN.1 coders/decoders. The test suite I am placing here is intended to be a "helper" for better ASN.1:2008 understanding and further implementation of coders/decoders. As a "test plant" for my test suite I made a freely available [C++ ASN.1:2008 coder/decoder](https://github.com/YuryStrozhevsky/C-plus-plus-ASN.1-2008-coder-decoder). All *.xml files in my test suite are output from my [coder/decoder](https://github.com/YuryStrozhevsky/C-plus-plus-ASN.1-2008-coder-decoder). 4 | 5 | ## Usage 6 | 7 | 1. Read "pdf/free_asn1_testsuite.pdf" file 8 | 2. Use "suite/*.ber" files for testing decoding functionality; 9 | 3. Use "suite/*.xml" file as a suspected output from decoding; 10 | 4. With my [coder/decoder](https://github.com/YuryStrozhevsky/C-plus-plus-ASN.1-2008-coder-decoder) you can use "suite/*.xml" files also as an input for testing encoding functionality; 11 | 12 | ## License 13 | 14 | Copyright (c) 2014, [Yury Strozhevsky](http://www.strozhevsky.com/) 15 | All rights reserved. 16 | 17 | Redistribution and use in source and binary forms, with or without 18 | modification, are permitted provided that the following conditions are met: 19 | 20 | * Redistributions of source code must retain the above copyright notice, this 21 | list of conditions and the following disclaimer. 22 | 23 | * Redistributions in binary form must reproduce the above copyright notice, 24 | this list of conditions and the following disclaimer in the documentation 25 | and/or other materials provided with the distribution. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 28 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 29 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 30 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 31 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 32 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 33 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 34 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 35 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 36 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------