{"id":"asn1-der-primitive-decode","version":"1.0.0","description":"Decode one universal DER primitive from lowercase hex into typed fields.","supported_operations":["decode one der primitive value","parse an asn.1 universal tlv","read der boolean integer and null","decode der bit string and octet string","decode der utctime or generalizedtime","read arcs from an object identifier tlv","lowercase der hex into typed fields","פענוח ערך פרימיטיבי אחד"],"unsupported_operations":["encode a typed value to der","parse x.680 object identifier brace notation","constructed, indefinite, or application-tagged values","verify a signature or a certificate"],"semantics":["Input is lowercase even hex of exactly one primitive TLV. Integers come back as canonical decimal strings. Every octet string is lowercase hex.","Selected universal tags only: BOOLEAN, INTEGER, BIT STRING, OCTET STRING, NULL, OBJECT IDENTIFIER, UTF8String, NumericString, PrintableString, IA5String, UTCTime, GeneralizedTime, and VisibleString.","DER rules: definite minimal length, primitive form, BOOLEAN 00 or ff, minimal two's-complement INTEGER, BIT STRING unused bits zero, OBJECT IDENTIFIER base-128 with no leading 80, and the X.690 11.7/11.8 time subset (Z and seconds required, no comma, no trailing zero in a fraction).","There is no separate OBJECT IDENTIFIER arc-count cap and no arc-digit cap. Arc count and magnitude are bounded only by the contents that fit in max_der_bytes.","der_hex longer than 512 characters, or whose UTF-8 form exceeds 512 bytes, is limit_exceeded before the hex alphabet is checked. That budget is 256 DER bytes.","Constructed encodings, indefinite length, non-minimal length or tags, trailing octets, and non-canonical contents are invalid_input. A well-formed non-universal class, a tag number above 30, or a universal tag outside the selected set is unsupported_input.","Disclaimer: format transform only; provides no confidentiality, integrity, or authenticity."],"limits":{"max_der_bytes":256},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["der_hex"],"properties":{"der_hex":{"type":"string","minLength":2,"maxLength":512,"pattern":"^(?:[0-9a-f]{2})*$"}}},"output_schema":{"type":"object","additionalProperties":false,"required":["tag","type_name","der_hex","content_hex"],"properties":{"tag":{"type":"integer","minimum":1,"maximum":30},"type_name":{"type":"string","enum":["boolean","integer","bit_string","octet_string","null","object_identifier","utf8_string","numeric_string","printable_string","ia5_string","utc_time","generalized_time","visible_string"]},"der_hex":{"type":"string","minLength":2,"maxLength":512,"pattern":"^(?:[0-9a-f]{2})*$"},"content_hex":{"type":"string","maxLength":512,"pattern":"^(?:[0-9a-f]{2})*$"},"boolean":{"type":"boolean"},"integer":{"type":"string","minLength":1,"maxLength":700,"pattern":"^(0|-?[1-9][0-9]*)$"},"unused_bits":{"type":"integer","minimum":0,"maximum":7},"payload_hex":{"type":"string","maxLength":512,"pattern":"^(?:[0-9a-f]{2})*$"},"arcs":{"type":"array","minItems":2,"maxItems":256,"items":{"type":"string","minLength":1,"maxLength":600,"pattern":"^(0|[1-9][0-9]*)$"}},"dotted":{"type":"string","minLength":3,"maxLength":2048},"text":{"type":"string","maxLength":256}}},"examples":[{"input":{"der_hex":"0500"},"output":{"tag":5,"type_name":"null","der_hex":"0500","content_hex":""}},{"input":{"der_hex":"0101ff"},"output":{"tag":1,"type_name":"boolean","der_hex":"0101ff","content_hex":"ff","boolean":true}},{"input":{"der_hex":"0603883703"},"output":{"tag":6,"type_name":"object_identifier","der_hex":"0603883703","content_hex":"883703","arcs":["2","999","3"],"dotted":"2.999.3"}}],"execute_url":"/v1/tools/asn1-der-primitive-decode/versions/1.0.0/execute"}