{"id":"asn1-der-path-list","version":"1.0.0","description":"List numeric paths, offsets, lengths, and tag class for every node in one DER value.","supported_operations":["list asn1 der node paths","walk a der value into numbered nodes","der tlv offset and length index","numeric child paths of der","schema free der structure listing","map tags inside a der encoding","מיפוי נתיבים בעץ הקידוד"],"unsupported_operations":["decode x509 names or extensions","verify a signature","accept BER indefinite length"],"semantics":["Accept one definite-length DER value and walk it in preorder. The root path is \"0\". A child path appends \".\" and the decimal index of that child, with no leading zeros.","Each node reports its byte offset, header length, content length, end offset, tag class, tag number, constructed bit, and child count. Content octets are not included.","ObjectDescriptor (universal 7) must be primitive. CHARACTER STRING (universal 29), EXTERNAL (8), EMBEDDED PDV (11), SEQUENCE (16) and SET (17) must be constructed. Other known string, time, and numeric universal tags must be primitive. Universal tags 0 and 15 are rejected.","Where the bytes determine a DER content rule, a non-canonical content is invalid_input: BOOLEAN, NULL, INTEGER, ENUMERATED, BIT STRING, OBJECT IDENTIFIER, RELATIVE-OID, REAL, UTCTime, GeneralizedTime, UTF8String, UniversalString, BMPString, and SET order. Context, application, and private contents are not interpreted. No X.509 field name is inferred.","More than 512 decoded bytes fails as limit_exceeded before a syntax check. Depth above 12 or more than 96 nodes is limit_exceeded. A JSON result above 32768 UTF-8 bytes is limit_exceeded.","Disclaimer: format transform only; provides no confidentiality, integrity, or authenticity."],"limits":{"max_der_bytes":512,"max_depth":12,"max_nodes":96,"max_output_bytes":32768},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["der_hex"],"properties":{"der_hex":{"type":"string","minLength":4,"maxLength":1024,"pattern":"^([0-9a-f]{2})+$"}}},"output_schema":{"type":"object","additionalProperties":false,"required":["der_bytes","node_count","nodes"],"properties":{"der_bytes":{"type":"integer","minimum":2,"maximum":512},"node_count":{"type":"integer","minimum":1,"maximum":96},"nodes":{"type":"array","minItems":1,"maxItems":96,"items":{"type":"object","additionalProperties":false,"required":["path","depth","offset","header_length","content_length","end_offset","tag_class","tag_number","constructed","child_count"],"properties":{"path":{"type":"string","minLength":1,"maxLength":64,"pattern":"^(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*))*$"},"depth":{"type":"integer","minimum":0,"maximum":12},"offset":{"type":"integer","minimum":0,"maximum":510},"header_length":{"type":"integer","minimum":2,"maximum":12},"content_length":{"type":"integer","minimum":0,"maximum":510},"end_offset":{"type":"integer","minimum":2,"maximum":512},"tag_class":{"type":"string","enum":["universal","application","context","private"]},"tag_number":{"type":"integer","minimum":0,"maximum":9007199254740991},"constructed":{"type":"boolean"},"child_count":{"type":"integer","minimum":0,"maximum":95}}}}}},"examples":[{"input":{"der_hex":"0500"},"output":{"der_bytes":2,"node_count":1,"nodes":[{"path":"0","depth":0,"offset":0,"header_length":2,"content_length":0,"end_offset":2,"tag_class":"universal","tag_number":5,"constructed":false,"child_count":0}]}},{"input":{"der_hex":"0101ff"},"output":{"der_bytes":3,"node_count":1,"nodes":[{"path":"0","depth":0,"offset":0,"header_length":2,"content_length":1,"end_offset":3,"tag_class":"universal","tag_number":1,"constructed":false,"child_count":0}]}},{"input":{"der_hex":"3003020100"},"output":{"der_bytes":5,"node_count":2,"nodes":[{"path":"0","depth":0,"offset":0,"header_length":2,"content_length":3,"end_offset":5,"tag_class":"universal","tag_number":16,"constructed":true,"child_count":1},{"path":"0.0","depth":1,"offset":2,"header_length":2,"content_length":1,"end_offset":5,"tag_class":"universal","tag_number":2,"constructed":false,"child_count":0}]}}],"execute_url":"/v1/tools/asn1-der-path-list/versions/1.0.0/execute"}