{"id":"asn1-der-node-extract","version":"1.0.0","description":"Extract one DER node by a numeric path, with header, content, and child paths.","supported_operations":["extract one der node by path","der node header and content hex","read the tlv at a numeric path","child paths of a single der node","slice one asn1 der element","pull header bytes for a der path","חילוץ צומת לפי נתיב מספרי"],"unsupported_operations":["list every node in the value","render an escaped tree","interpret the node as an x509 field"],"semantics":["Input is der_hex plus a path. The path is decimal child indexes separated by dots, starting at \"0\", with no leading zeros. The byte walk runs before the path is checked, so a broken encoding fails even when the path is too long.","The result is that one node: offsets and lengths, tag class and tag number, header_hex, content_hex, tlv_hex, and the paths of its immediate children. Sibling nodes are not returned.","A path longer than 64 characters is limit_exceeded before path syntax. A path that is well formed but absent is invalid_input with details.reason \"path_not_found\".","ObjectDescriptor (universal 7) must be primitive. CHARACTER STRING (universal 29) must be constructed, as must EXTERNAL, EMBEDDED PDV, SEQUENCE, and SET. The same DER content rules as the walker apply. No X.509 meaning is assigned to a tag.","More than 512 decoded bytes, depth above 12, or more than 96 nodes is limit_exceeded. The decoded-byte limit is applied before hex syntax. 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,"max_path_chars":64},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["der_hex","path"],"properties":{"der_hex":{"type":"string","minLength":4,"maxLength":1024,"pattern":"^([0-9a-f]{2})+$"},"path":{"type":"string","minLength":1,"maxLength":64,"pattern":"^(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*))*$"}}},"output_schema":{"type":"object","additionalProperties":false,"required":["der_bytes","path","depth","offset","header_length","content_length","end_offset","tag_class","tag_number","constructed","child_count","header_hex","content_hex","tlv_hex","child_paths"],"properties":{"der_bytes":{"type":"integer","minimum":2,"maximum":512},"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},"header_hex":{"type":"string","minLength":4,"maxLength":24,"pattern":"^([0-9a-f]{2})+$"},"content_hex":{"type":"string","minLength":0,"maxLength":1020,"pattern":"^([0-9a-f]{2})*$"},"tlv_hex":{"type":"string","minLength":4,"maxLength":1024,"pattern":"^([0-9a-f]{2})+$"},"child_paths":{"type":"array","maxItems":95,"items":{"type":"string","minLength":1,"maxLength":64,"pattern":"^(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*))*$"}}}},"examples":[{"input":{"der_hex":"0500","path":"0"},"output":{"der_bytes":2,"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,"header_hex":"0500","content_hex":"","tlv_hex":"0500","child_paths":[]}},{"input":{"der_hex":"0101ff","path":"0"},"output":{"der_bytes":3,"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,"header_hex":"0101","content_hex":"ff","tlv_hex":"0101ff","child_paths":[]}},{"input":{"der_hex":"3003020100","path":"0.0"},"output":{"der_bytes":5,"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,"header_hex":"0201","content_hex":"00","tlv_hex":"020100","child_paths":[]}}],"execute_url":"/v1/tools/asn1-der-node-extract/versions/1.0.0/execute"}