{"id":"asn1-der-encode-tree","version":"1.0.0","description":"Encode a schema-free ASN.1 node list as one canonical DER value.","supported_operations":["encode asn1 node list to der","canonical der from a tlv node list","write distinguished encoding from nodes","serialize schema free asn1 tree","rebuild der hex from tag and contents","der encode primitive and constructed nodes","קידוד עץ תגיות לקוד בינארי קנוני"],"unsupported_operations":["repair a non-canonical integer or real mantissa","emit ber indefinite length","sign or wrap the encoded value in pem"],"semantics":["nodes[0] is the root. Every other index is used exactly once as a descendant. The encoder writes the canonical tag and the shortest definite length; content_hex is contents octets only and must be empty on a constructed node.","Known universal contents must already be canonical DER. Non-minimal INTEGER, non-canonical REAL, decimal REAL, base 8 or 16, a nonzero scale, an even mantissa, and contents octet 0x00 are rejected rather than rewritten.","REAL plus zero is empty contents. Finite REAL uses base 2, scale 0, an odd shortest mantissa and the shortest two's-complement exponent (X.690 8.5 and 11.3).","SET children must already be in ascending raw encoding order. SEQUENCE order is preserved. Unknown tags are encoded structurally.","A cycle, a reused index, or an index that is not reachable is invalid_input. Depth above 8, more than 32 nodes, more than 256 encoded bytes, or more than 512 hex characters in one content_hex is limit_exceeded.","Disclaimer: format transform only; provides no confidentiality, integrity, or authenticity."],"limits":{"max_der_bytes":256,"max_depth":8,"max_nodes":32,"max_output_bytes":16384,"max_tag_decimal_digits":600,"max_hex_chars":512},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["nodes"],"properties":{"nodes":{"type":"array","minItems":1,"maxItems":32,"items":{"type":"object","additionalProperties":false,"required":["tag_class","tag_number","constructed","content_hex","child_indexes"],"properties":{"tag_class":{"type":"string","enum":["universal","application","context","private"]},"tag_number":{"type":"string","minLength":1,"maxLength":600,"pattern":"^(0|[1-9][0-9]{0,599})$"},"constructed":{"type":"boolean"},"content_hex":{"type":"string","maxLength":512,"pattern":"^([0-9a-f]{2})*$"},"child_indexes":{"type":"array","maxItems":31,"items":{"type":"integer","minimum":0,"maximum":31}}}}}}},"output_schema":{"type":"object","additionalProperties":false,"required":["der_hex","byte_length","node_count"],"properties":{"der_hex":{"type":"string","minLength":4,"maxLength":512,"pattern":"^([0-9a-f]{2})+$"},"byte_length":{"type":"integer","minimum":2,"maximum":256},"node_count":{"type":"integer","minimum":1,"maximum":32}}},"examples":[{"input":{"nodes":[{"tag_class":"universal","tag_number":"9","constructed":false,"content_hex":"","child_indexes":[]}]},"output":{"der_hex":"0900","byte_length":2,"node_count":1}},{"input":{"nodes":[{"tag_class":"universal","tag_number":"9","constructed":false,"content_hex":"800001","child_indexes":[]}]},"output":{"der_hex":"0903800001","byte_length":5,"node_count":1}},{"input":{"nodes":[{"tag_class":"universal","tag_number":"16","constructed":true,"content_hex":"","child_indexes":[1,2]},{"tag_class":"universal","tag_number":"6","constructed":false,"content_hex":"2b0e03021a","child_indexes":[]},{"tag_class":"universal","tag_number":"5","constructed":false,"content_hex":"","child_indexes":[]}]},"output":{"der_hex":"300906052b0e03021a0500","byte_length":11,"node_count":3}}],"execute_url":"/v1/tools/asn1-der-encode-tree/versions/1.0.0/execute"}