asn1-ts 8.0.5 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/{node/ConstructedElementSpecification.d.ts → ConstructedElementSpecification.d.mts} +2 -2
- package/dist/ConstructedElementSpecification.mjs +1 -0
- package/dist/{node/asn1.d.ts → asn1.d.mts} +7 -7
- package/dist/{node/asn1.js → asn1.mjs} +91 -132
- package/dist/{node/classes/ABSTRACT-SYNTAX.d.ts → classes/ABSTRACT-SYNTAX.d.mts} +2 -2
- package/dist/classes/ABSTRACT-SYNTAX.mjs +1 -0
- package/dist/{node/classes/TYPE-IDENTIFIER.d.ts → classes/TYPE-IDENTIFIER.d.mts} +2 -2
- package/dist/classes/TYPE-IDENTIFIER.mjs +1 -0
- package/dist/classes/index.d.mts +2 -0
- package/dist/classes/index.mjs +1 -0
- package/dist/{node/codecs/ber/decoders/decodeBitString.d.ts → codecs/ber/decoders/decodeBitString.d.mts} +1 -1
- package/dist/codecs/ber/decoders/decodeBitString.mjs +19 -0
- package/dist/{node/codecs/ber/decoders/decodeBoolean.d.ts → codecs/ber/decoders/decodeBoolean.d.mts} +1 -1
- package/dist/codecs/ber/decoders/decodeBoolean.mjs +7 -0
- package/dist/{node/codecs/ber/decoders/decodeDuration.d.ts → codecs/ber/decoders/decodeDuration.d.mts} +1 -1
- package/dist/{node/codecs/ber/decoders/decodeDuration.js → codecs/ber/decoders/decodeDuration.mjs} +9 -48
- package/dist/{node/codecs/ber/decoders/decodeGeneralizedTime.d.ts → codecs/ber/decoders/decodeGeneralizedTime.d.mts} +1 -1
- package/dist/{node/codecs/ber/decoders/decodeGeneralizedTime.js → codecs/ber/decoders/decodeGeneralizedTime.mjs} +10 -49
- package/dist/{node/codecs/ber/decoders/decodeReal.d.ts → codecs/ber/decoders/decodeReal.d.mts} +1 -1
- package/dist/codecs/ber/decoders/decodeReal.mjs +108 -0
- package/dist/codecs/ber/decoders/decodeSequence.d.mts +3 -0
- package/dist/codecs/ber/decoders/decodeSequence.mjs +11 -0
- package/dist/{node/codecs/ber/decoders/decodeUTCTime.d.ts → codecs/ber/decoders/decodeUTCTime.d.mts} +1 -1
- package/dist/codecs/ber/decoders/decodeUTCTime.mjs +45 -0
- package/dist/{node/codecs/ber/encoders/encodeGeneralString.d.ts → codecs/ber/encoders/encodeGeneralString.d.mts} +1 -1
- package/dist/codecs/ber/encoders/encodeGeneralString.mjs +13 -0
- package/dist/{node/codecs/ber/encoders/encodeGraphicString.d.ts → codecs/ber/encoders/encodeGraphicString.d.mts} +1 -1
- package/dist/codecs/ber/encoders/encodeGraphicString.mjs +13 -0
- package/dist/{node/codecs/ber/encoders/encodeNumericString.d.ts → codecs/ber/encoders/encodeNumericString.d.mts} +1 -1
- package/dist/codecs/ber/encoders/encodeNumericString.mjs +13 -0
- package/dist/{node/codecs/ber/encoders/encodeObjectDescriptor.d.ts → codecs/ber/encoders/encodeObjectDescriptor.d.mts} +1 -1
- package/dist/codecs/ber/encoders/encodeObjectDescriptor.mjs +13 -0
- package/dist/{node/codecs/ber/encoders/encodePrintableString.d.ts → codecs/ber/encoders/encodePrintableString.d.mts} +1 -1
- package/dist/codecs/ber/encoders/encodePrintableString.mjs +14 -0
- package/dist/{node/codecs/ber/encoders/encodeVisibleString.d.ts → codecs/ber/encoders/encodeVisibleString.d.mts} +1 -1
- package/dist/codecs/ber/encoders/encodeVisibleString.mjs +13 -0
- package/dist/{node/codecs/ber.d.ts → codecs/ber.d.mts} +5 -5
- package/dist/{node/codecs/ber.js → codecs/ber.mjs} +142 -180
- package/dist/codecs/cer/decoders/decodeSequence.d.mts +3 -0
- package/dist/codecs/cer/decoders/decodeSequence.mjs +14 -0
- package/dist/{node/codecs/cer.d.ts → codecs/cer.d.mts} +5 -5
- package/dist/{node/codecs/cer.js → codecs/cer.mjs} +146 -184
- package/dist/{node/codecs/coer/decoders/decodeBoolean.d.ts → codecs/coer/decoders/decodeBoolean.d.mts} +1 -1
- package/dist/codecs/coer/decoders/decodeBoolean.mjs +10 -0
- package/dist/{node/codecs/der/decoders/decodeBitString.d.ts → codecs/der/decoders/decodeBitString.d.mts} +1 -1
- package/dist/codecs/der/decoders/decodeBitString.mjs +23 -0
- package/dist/{node/codecs/der/decoders/decodeBoolean.d.ts → codecs/der/decoders/decodeBoolean.d.mts} +1 -1
- package/dist/codecs/der/decoders/decodeBoolean.mjs +10 -0
- package/dist/{node/codecs/der/decoders/decodeDuration.d.ts → codecs/der/decoders/decodeDuration.d.mts} +1 -1
- package/dist/{node/codecs/der/decoders/decodeDuration.js → codecs/der/decoders/decodeDuration.mjs} +9 -48
- package/dist/{node/codecs/der/decoders/decodeGeneralizedTime.d.ts → codecs/der/decoders/decodeGeneralizedTime.d.mts} +1 -1
- package/dist/codecs/der/decoders/decodeGeneralizedTime.mjs +42 -0
- package/dist/{node/codecs/der/decoders/decodeReal.d.ts → codecs/der/decoders/decodeReal.d.mts} +1 -1
- package/dist/codecs/der/decoders/decodeReal.mjs +95 -0
- package/dist/codecs/der/decoders/decodeSequence.d.mts +3 -0
- package/dist/codecs/der/decoders/decodeSequence.mjs +14 -0
- package/dist/{node/codecs/der/decoders/decodeUTCTime.d.ts → codecs/der/decoders/decodeUTCTime.d.mts} +1 -1
- package/dist/codecs/der/decoders/decodeUTCTime.mjs +24 -0
- package/dist/{node/codecs/der.d.ts → codecs/der.d.mts} +5 -5
- package/dist/{node/codecs/der.js → codecs/der.mjs} +138 -176
- package/dist/{node/codecs/x690/decoders/decodeCharacterString.d.ts → codecs/x690/decoders/decodeCharacterString.d.mts} +1 -1
- package/dist/codecs/x690/decoders/decodeCharacterString.mjs +12 -0
- package/dist/{node/codecs/x690/decoders/decodeDate.d.ts → codecs/x690/decoders/decodeDate.d.mts} +1 -1
- package/dist/codecs/x690/decoders/decodeDate.mjs +10 -0
- package/dist/{node/codecs/x690/decoders/decodeDateTime.d.ts → codecs/x690/decoders/decodeDateTime.d.mts} +1 -1
- package/dist/codecs/x690/decoders/decodeDateTime.mjs +13 -0
- package/dist/{node/codecs/x690/decoders/decodeEmbeddedPDV.d.ts → codecs/x690/decoders/decodeEmbeddedPDV.d.mts} +1 -1
- package/dist/codecs/x690/decoders/decodeEmbeddedPDV.mjs +8 -0
- package/dist/{node/codecs/x690/decoders/decodeExternal.d.ts → codecs/x690/decoders/decodeExternal.d.mts} +1 -1
- package/dist/codecs/x690/decoders/decodeExternal.mjs +39 -0
- package/dist/{node/codecs/x690/decoders/decodeGeneralString.d.ts → codecs/x690/decoders/decodeGeneralString.d.mts} +1 -1
- package/dist/codecs/x690/decoders/decodeGeneralString.mjs +12 -0
- package/dist/{node/codecs/x690/decoders/decodeGraphicString.d.ts → codecs/x690/decoders/decodeGraphicString.d.mts} +1 -1
- package/dist/codecs/x690/decoders/decodeGraphicString.mjs +12 -0
- package/dist/{node/codecs/x690/decoders/decodeInteger.d.ts → codecs/x690/decoders/decodeInteger.d.mts} +1 -1
- package/dist/codecs/x690/decoders/decodeInteger.mjs +16 -0
- package/dist/{node/codecs/x690/decoders/decodeNumericString.d.ts → codecs/x690/decoders/decodeNumericString.d.mts} +1 -1
- package/dist/codecs/x690/decoders/decodeNumericString.mjs +12 -0
- package/dist/{node/codecs/x690/decoders/decodeOIDIRI.d.ts → codecs/x690/decoders/decodeOIDIRI.d.mts} +1 -1
- package/dist/codecs/x690/decoders/decodeOIDIRI.mjs +4 -0
- package/dist/{node/codecs/x690/decoders/decodeObjectDescriptor.d.ts → codecs/x690/decoders/decodeObjectDescriptor.d.mts} +1 -1
- package/dist/codecs/x690/decoders/decodeObjectDescriptor.mjs +12 -0
- package/dist/{node/codecs/x690/decoders/decodeObjectIdentifier.d.ts → codecs/x690/decoders/decodeObjectIdentifier.d.mts} +1 -1
- package/dist/codecs/x690/decoders/decodeObjectIdentifier.mjs +46 -0
- package/dist/{node/codecs/x690/decoders/decodePrintableString.d.ts → codecs/x690/decoders/decodePrintableString.d.mts} +1 -1
- package/dist/codecs/x690/decoders/decodePrintableString.mjs +13 -0
- package/dist/{node/codecs/x690/decoders/decodeRelativeOIDIRI.d.ts → codecs/x690/decoders/decodeRelativeOIDIRI.d.mts} +1 -1
- package/dist/codecs/x690/decoders/decodeRelativeOIDIRI.mjs +4 -0
- package/dist/{node/codecs/x690/decoders/decodeRelativeObjectIdentifier.d.ts → codecs/x690/decoders/decodeRelativeObjectIdentifier.d.mts} +1 -1
- package/dist/codecs/x690/decoders/decodeRelativeObjectIdentifier.mjs +24 -0
- package/dist/{node/codecs/x690/decoders/decodeTime.d.ts → codecs/x690/decoders/decodeTime.d.mts} +1 -1
- package/dist/codecs/x690/decoders/decodeTime.mjs +4 -0
- package/dist/{node/codecs/x690/decoders/decodeTimeOfDay.d.ts → codecs/x690/decoders/decodeTimeOfDay.d.mts} +1 -1
- package/dist/codecs/x690/decoders/decodeTimeOfDay.mjs +14 -0
- package/dist/{node/codecs/x690/decoders/decodeVisibleString.d.ts → codecs/x690/decoders/decodeVisibleString.d.mts} +1 -1
- package/dist/codecs/x690/decoders/decodeVisibleString.mjs +12 -0
- package/dist/{node/codecs/x690/encoders/encodeBitString.d.ts → codecs/x690/encoders/encodeBitString.d.mts} +1 -1
- package/dist/codecs/x690/encoders/encodeBitString.mjs +13 -0
- package/dist/{node/codecs/x690/encoders/encodeBoolean.d.ts → codecs/x690/encoders/encodeBoolean.d.mts} +1 -1
- package/dist/codecs/x690/encoders/encodeBoolean.mjs +3 -0
- package/dist/{node/codecs/x690/encoders/encodeCharacterString.d.ts → codecs/x690/encoders/encodeCharacterString.d.mts} +1 -1
- package/dist/codecs/x690/encoders/encodeCharacterString.mjs +9 -0
- package/dist/{node/codecs/x690/encoders/encodeDate.d.ts → codecs/x690/encoders/encodeDate.d.mts} +1 -1
- package/dist/codecs/x690/encoders/encodeDate.mjs +11 -0
- package/dist/{node/codecs/x690/encoders/encodeDateTime.d.ts → codecs/x690/encoders/encodeDateTime.d.mts} +1 -1
- package/dist/codecs/x690/encoders/encodeDateTime.mjs +14 -0
- package/dist/{node/codecs/x690/encoders/encodeDuration.d.ts → codecs/x690/encoders/encodeDuration.d.mts} +1 -1
- package/dist/{node/codecs/x690/encoders/encodeDuration.js → codecs/x690/encoders/encodeDuration.mjs} +5 -11
- package/dist/{node/codecs/x690/encoders/encodeEmbeddedPDV.d.ts → codecs/x690/encoders/encodeEmbeddedPDV.d.mts} +1 -1
- package/dist/codecs/x690/encoders/encodeEmbeddedPDV.mjs +9 -0
- package/dist/{node/codecs/x690/encoders/encodeExternal.d.ts → codecs/x690/encoders/encodeExternal.d.mts} +1 -1
- package/dist/codecs/x690/encoders/encodeExternal.mjs +36 -0
- package/dist/{node/codecs/x690/encoders/encodeGeneralizedTime.d.ts → codecs/x690/encoders/encodeGeneralizedTime.d.mts} +1 -1
- package/dist/{node/codecs/x690/encoders/encodeGeneralizedTime.js → codecs/x690/encoders/encodeGeneralizedTime.mjs} +3 -9
- package/dist/{node/codecs/x690/encoders/encodeInteger.d.ts → codecs/x690/encoders/encodeInteger.d.mts} +1 -1
- package/dist/codecs/x690/encoders/encodeInteger.mjs +4 -0
- package/dist/{node/codecs/x690/encoders/encodeOIDIRI.d.ts → codecs/x690/encoders/encodeOIDIRI.d.mts} +1 -1
- package/dist/codecs/x690/encoders/encodeOIDIRI.mjs +4 -0
- package/dist/{node/codecs/x690/encoders/encodeObjectIdentifier.d.ts → codecs/x690/encoders/encodeObjectIdentifier.d.mts} +1 -1
- package/dist/{node/codecs/x690/encoders/encodeObjectIdentifier.js → codecs/x690/encoders/encodeObjectIdentifier.mjs} +3 -6
- package/dist/{node/codecs/x690/encoders/encodeReal.d.ts → codecs/x690/encoders/encodeReal.d.mts} +1 -1
- package/dist/codecs/x690/encoders/encodeReal.mjs +4 -0
- package/dist/{node/codecs/x690/encoders/encodeRelativeOIDIRI.d.ts → codecs/x690/encoders/encodeRelativeOIDIRI.d.mts} +1 -1
- package/dist/codecs/x690/encoders/encodeRelativeOIDIRI.mjs +4 -0
- package/dist/{node/codecs/x690/encoders/encodeRelativeObjectIdentifier.d.ts → codecs/x690/encoders/encodeRelativeObjectIdentifier.d.mts} +1 -1
- package/dist/{node/codecs/x690/encoders/encodeRelativeObjectIdentifier.js → codecs/x690/encoders/encodeRelativeObjectIdentifier.mjs} +3 -6
- package/dist/codecs/x690/encoders/encodeSequence.d.mts +3 -0
- package/dist/codecs/x690/encoders/encodeSequence.mjs +4 -0
- package/dist/{node/codecs/x690/encoders/encodeTime.d.ts → codecs/x690/encoders/encodeTime.d.mts} +1 -1
- package/dist/codecs/x690/encoders/encodeTime.mjs +4 -0
- package/dist/{node/codecs/x690/encoders/encodeTimeOfDay.d.ts → codecs/x690/encoders/encodeTimeOfDay.d.mts} +1 -1
- package/dist/codecs/x690/encoders/encodeTimeOfDay.mjs +4 -0
- package/dist/{node/codecs/x690/encoders/encodeUTCTime.d.ts → codecs/x690/encoders/encodeUTCTime.d.mts} +1 -1
- package/dist/{node/codecs/x690/encoders/encodeUTCTime.js → codecs/x690/encoders/encodeUTCTime.mjs} +3 -9
- package/dist/{node/errors.d.ts → errors.d.mts} +1 -1
- package/dist/{node/errors.js → errors.mjs} +26 -23
- package/dist/{node/functional.d.ts → functional.d.mts} +2 -2
- package/dist/functional.mjs +766 -0
- package/dist/index.d.mts +16 -0
- package/dist/index.mjs +15 -0
- package/dist/interfaces/Byteable.d.mts +4 -0
- package/dist/interfaces/Byteable.mjs +1 -0
- package/dist/interfaces/CharacterValidationFunction.mjs +1 -0
- package/dist/interfaces/Debyteable.mjs +1 -0
- package/dist/{node/interfaces/Deelementable.d.ts → interfaces/Deelementable.d.mts} +1 -1
- package/dist/interfaces/Deelementable.mjs +1 -0
- package/dist/interfaces/Destringable.mjs +1 -0
- package/dist/interfaces/Elementable.d.mts +4 -0
- package/dist/interfaces/Elementable.mjs +1 -0
- package/dist/interfaces/Enbyteable.mjs +1 -0
- package/dist/{node/interfaces/Enelementable.d.ts → interfaces/Enelementable.d.mts} +1 -1
- package/dist/interfaces/Enelementable.mjs +1 -0
- package/dist/interfaces/Enstringable.mjs +1 -0
- package/dist/{node/interfaces/Identified.d.ts → interfaces/Identified.d.mts} +1 -1
- package/dist/interfaces/Identified.mjs +1 -0
- package/dist/interfaces/Long.mjs +1 -0
- package/dist/interfaces/Named.mjs +1 -0
- package/dist/interfaces/Stringable.d.mts +4 -0
- package/dist/interfaces/Stringable.mjs +1 -0
- package/dist/interfaces/index.d.mts +12 -0
- package/dist/interfaces/index.mjs +1 -0
- package/dist/{node/macros.d.ts → macros.d.mts} +5 -5
- package/dist/macros.mjs +14 -0
- package/dist/{node/types/CharacterString.d.ts → types/CharacterString.d.mts} +1 -1
- package/dist/{node/types/CharacterString.js → types/CharacterString.mjs} +3 -4
- package/dist/{node/types/EmbeddedPDV.d.ts → types/EmbeddedPDV.d.mts} +1 -1
- package/dist/{node/types/EmbeddedPDV.js → types/EmbeddedPDV.mjs} +3 -4
- package/dist/{node/types/External.d.ts → types/External.d.mts} +2 -2
- package/dist/{node/types/External.js → types/External.mjs} +7 -9
- package/dist/{node/types/ObjectIdentifier.js → types/ObjectIdentifier.mjs} +6 -11
- package/dist/{node/types/TypeIdentifier.d.ts → types/TypeIdentifier.d.mts} +2 -2
- package/dist/types/TypeIdentifier.mjs +8 -0
- package/dist/types/index.d.mts +18 -0
- package/dist/types/index.mjs +18 -0
- package/dist/{node/types/time/DATE-ENCODING.d.ts → types/time/DATE-ENCODING.d.mts} +1 -1
- package/dist/types/time/DATE-ENCODING.mjs +13 -0
- package/dist/{node/types/time/DURATION-EQUIVALENT.d.ts → types/time/DURATION-EQUIVALENT.d.mts} +1 -1
- package/dist/types/time/DURATION-EQUIVALENT.mjs +93 -0
- package/dist/{node/types/time/DURATION-INTERVAL-ENCODING.d.ts → types/time/DURATION-INTERVAL-ENCODING.d.mts} +1 -1
- package/dist/types/time/DURATION-INTERVAL-ENCODING.mjs +50 -0
- package/dist/{node/types/time/HOURS-DIFF-ENCODING.d.ts → types/time/HOURS-DIFF-ENCODING.d.mts} +1 -1
- package/dist/types/time/HOURS-DIFF-ENCODING.mjs +11 -0
- package/dist/{node/types/time/HOURS-ENCODING.d.ts → types/time/HOURS-ENCODING.d.mts} +1 -1
- package/dist/types/time/HOURS-ENCODING.mjs +8 -0
- package/dist/{node/types/time/HOURS-MINUTES-DIFF-ENCODING.d.ts → types/time/HOURS-MINUTES-DIFF-ENCODING.d.mts} +1 -1
- package/dist/types/time/HOURS-MINUTES-DIFF-ENCODING.mjs +14 -0
- package/dist/{node/types/time/HOURS-MINUTES-ENCODING.d.ts → types/time/HOURS-MINUTES-ENCODING.d.mts} +1 -1
- package/dist/types/time/HOURS-MINUTES-ENCODING.mjs +11 -0
- package/dist/{node/types/time/TIME-OF-DAY-DIFF-ENCODING.d.ts → types/time/TIME-OF-DAY-DIFF-ENCODING.d.mts} +1 -1
- package/dist/types/time/TIME-OF-DAY-DIFF-ENCODING.mjs +17 -0
- package/dist/{node/types/time/TIME-OF-DAY-ENCODING.d.ts → types/time/TIME-OF-DAY-ENCODING.d.mts} +1 -1
- package/dist/types/time/TIME-OF-DAY-ENCODING.mjs +14 -0
- package/dist/{node/types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.d.ts → types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.d.mts} +1 -1
- package/dist/types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.mjs +20 -0
- package/dist/{node/types/time/TIME-OF-DAY-FRACTION-ENCODING.d.ts → types/time/TIME-OF-DAY-FRACTION-ENCODING.d.mts} +1 -1
- package/dist/types/time/TIME-OF-DAY-FRACTION-ENCODING.mjs +17 -0
- package/dist/{node/types/time/YEAR-ENCODING.d.ts → types/time/YEAR-ENCODING.d.mts} +1 -1
- package/dist/types/time/YEAR-ENCODING.mjs +6 -0
- package/dist/{node/types/time/YEAR-MONTH-ENCODING.d.ts → types/time/YEAR-MONTH-ENCODING.d.mts} +1 -1
- package/dist/types/time/YEAR-MONTH-ENCODING.mjs +10 -0
- package/dist/utils/base128Length.mjs +3 -0
- package/dist/{node/utils/bigint.d.ts → utils/bigint.d.mts} +1 -1
- package/dist/{node/utils/bigint.js → utils/bigint.mjs} +21 -25
- package/dist/{node/utils/compareSetOfElementsCanonically.d.ts → utils/compareSetOfElementsCanonically.d.mts} +1 -1
- package/dist/{node/utils/compareSetOfElementsCanonically.js → utils/compareSetOfElementsCanonically.mjs} +1 -4
- package/dist/utils/convertBytesToText.mjs +14 -0
- package/dist/utils/convertTextToBytes.mjs +11 -0
- package/dist/utils/decodeIEEE754DoublePrecisionFloat.mjs +3 -0
- package/dist/utils/decodeIEEE754SinglePrecisionFloat.mjs +3 -0
- package/dist/utils/decodeSignedBigEndianInteger.mjs +13 -0
- package/dist/utils/decodeUnsignedBigEndianInteger.mjs +13 -0
- package/dist/utils/decodeX690RealNumber.mjs +108 -0
- package/dist/utils/dissectFloat.mjs +13 -0
- package/dist/utils/encodeIEEE754DoublePrecisionFloat.mjs +3 -0
- package/dist/utils/encodeIEEE754SinglePrecisionFloat.mjs +3 -0
- package/dist/utils/encodeSignedBigEndianInteger.mjs +36 -0
- package/dist/utils/encodeUnsignedBigEndianInteger.mjs +23 -0
- package/dist/utils/encodeX690Base10RealNumber.mjs +21 -0
- package/dist/utils/encodeX690BinaryRealNumber.mjs +43 -0
- package/dist/utils/getBitFromBase128.mjs +4 -0
- package/dist/utils/getBitFromBase256.mjs +3 -0
- package/dist/{node/utils/index.d.ts → utils/index.d.mts} +22 -22
- package/dist/utils/index.mjs +22 -0
- package/dist/{node/utils/isInCanonicalOrder.d.ts → utils/isInCanonicalOrder.d.mts} +1 -1
- package/dist/{node/utils/isInCanonicalOrder.js → utils/isInCanonicalOrder.mjs} +4 -7
- package/dist/{node/utils/isUniquelyTagged.d.ts → utils/isUniquelyTagged.d.mts} +1 -1
- package/dist/{node/utils/isUniquelyTagged.js → utils/isUniquelyTagged.mjs} +1 -4
- package/dist/{node/utils/packBits.d.ts → utils/packBits.d.mts} +1 -1
- package/dist/{node/utils/packBits.js → utils/packBits.mjs} +3 -6
- package/dist/{node/utils/setBitInBase128.js → utils/setBitInBase128.mjs} +1 -4
- package/dist/{node/utils/setBitInBase256.js → utils/setBitInBase256.mjs} +1 -4
- package/dist/{node/utils/sortCanonically.d.ts → utils/sortCanonically.d.mts} +1 -1
- package/dist/utils/sortCanonically.mjs +11 -0
- package/dist/utils/splitOctetsCanonically.mjs +5 -0
- package/dist/{node/utils/trimLeadingPaddingBytes.js → utils/trimLeadingPaddingBytes.mjs} +1 -4
- package/dist/{node/utils/unpackBits.d.ts → utils/unpackBits.d.mts} +1 -1
- package/dist/{node/utils/unpackBits.js → utils/unpackBits.mjs} +3 -6
- package/dist/{node/validators/datetimeComponentValidator.d.ts → validators/datetimeComponentValidator.d.mts} +1 -1
- package/dist/validators/datetimeComponentValidator.mjs +14 -0
- package/dist/{node/validators/index.d.ts → validators/index.d.mts} +6 -6
- package/dist/validators/index.mjs +6 -0
- package/dist/validators/isGeneralCharacter.mjs +3 -0
- package/dist/validators/isGraphicCharacter.mjs +3 -0
- package/dist/validators/isNumericCharacter.mjs +3 -0
- package/dist/validators/isObjectDescriptorCharacter.mjs +4 -0
- package/dist/{node/validators/isPrintableCharacter.js → validators/isPrintableCharacter.mjs} +1 -4
- package/dist/validators/isVisibleCharacter.mjs +4 -0
- package/dist/{node/validators/validateConstruction.d.ts → validators/validateConstruction.d.mts} +2 -2
- package/dist/validators/validateConstruction.mjs +37 -0
- package/dist/validators/validateDate.mjs +49 -0
- package/dist/validators/validateDateTime.mjs +6 -0
- package/dist/validators/validateTime.mjs +21 -0
- package/dist/{node/values.js → values.mjs} +36 -39
- package/dist/{node/x690.d.ts → x690.d.mts} +2 -2
- package/dist/x690.mjs +95 -0
- package/package.json +8 -7
- package/dist/node/ConstructedElementSpecification.js +0 -2
- package/dist/node/classes/ABSTRACT-SYNTAX.js +0 -2
- package/dist/node/classes/TYPE-IDENTIFIER.js +0 -2
- package/dist/node/classes/index.d.ts +0 -2
- package/dist/node/classes/index.js +0 -2
- package/dist/node/codecs/ber/decoders/decodeBitString.js +0 -55
- package/dist/node/codecs/ber/decoders/decodeBoolean.js +0 -43
- package/dist/node/codecs/ber/decoders/decodeReal.js +0 -147
- package/dist/node/codecs/ber/decoders/decodeSequence.d.ts +0 -3
- package/dist/node/codecs/ber/decoders/decodeSequence.js +0 -17
- package/dist/node/codecs/ber/decoders/decodeUTCTime.js +0 -84
- package/dist/node/codecs/ber/encoders/encodeGeneralString.js +0 -19
- package/dist/node/codecs/ber/encoders/encodeGraphicString.js +0 -19
- package/dist/node/codecs/ber/encoders/encodeNumericString.js +0 -19
- package/dist/node/codecs/ber/encoders/encodeObjectDescriptor.js +0 -19
- package/dist/node/codecs/ber/encoders/encodePrintableString.js +0 -20
- package/dist/node/codecs/ber/encoders/encodeVisibleString.js +0 -19
- package/dist/node/codecs/cer/decoders/decodeSequence.d.ts +0 -3
- package/dist/node/codecs/cer/decoders/decodeSequence.js +0 -20
- package/dist/node/codecs/coer/decoders/decodeBoolean.js +0 -46
- package/dist/node/codecs/der/decoders/decodeBitString.js +0 -59
- package/dist/node/codecs/der/decoders/decodeBoolean.js +0 -46
- package/dist/node/codecs/der/decoders/decodeGeneralizedTime.js +0 -81
- package/dist/node/codecs/der/decoders/decodeReal.js +0 -134
- package/dist/node/codecs/der/decoders/decodeSequence.d.ts +0 -3
- package/dist/node/codecs/der/decoders/decodeSequence.js +0 -20
- package/dist/node/codecs/der/decoders/decodeUTCTime.js +0 -63
- package/dist/node/codecs/oer/decoders/decodeBoolean.d.ts +0 -2
- package/dist/node/codecs/oer/decoders/decodeBoolean.js +0 -43
- package/dist/node/codecs/x690/decoders/decodeCharacterString.js +0 -18
- package/dist/node/codecs/x690/decoders/decodeDate.js +0 -16
- package/dist/node/codecs/x690/decoders/decodeDateTime.js +0 -19
- package/dist/node/codecs/x690/decoders/decodeEmbeddedPDV.js +0 -14
- package/dist/node/codecs/x690/decoders/decodeExternal.js +0 -78
- package/dist/node/codecs/x690/decoders/decodeGeneralString.js +0 -18
- package/dist/node/codecs/x690/decoders/decodeGraphicString.js +0 -18
- package/dist/node/codecs/x690/decoders/decodeInteger.js +0 -52
- package/dist/node/codecs/x690/decoders/decodeNumericString.js +0 -18
- package/dist/node/codecs/x690/decoders/decodeOIDIRI.js +0 -10
- package/dist/node/codecs/x690/decoders/decodeObjectDescriptor.js +0 -18
- package/dist/node/codecs/x690/decoders/decodeObjectIdentifier.js +0 -85
- package/dist/node/codecs/x690/decoders/decodePrintableString.js +0 -19
- package/dist/node/codecs/x690/decoders/decodeRelativeOIDIRI.js +0 -10
- package/dist/node/codecs/x690/decoders/decodeRelativeObjectIdentifier.js +0 -60
- package/dist/node/codecs/x690/decoders/decodeTime.js +0 -10
- package/dist/node/codecs/x690/decoders/decodeTimeOfDay.js +0 -20
- package/dist/node/codecs/x690/decoders/decodeVisibleString.js +0 -18
- package/dist/node/codecs/x690/encoders/encodeBitString.js +0 -19
- package/dist/node/codecs/x690/encoders/encodeBoolean.js +0 -6
- package/dist/node/codecs/x690/encoders/encodeCharacterString.js +0 -15
- package/dist/node/codecs/x690/encoders/encodeDate.js +0 -50
- package/dist/node/codecs/x690/encoders/encodeDateTime.js +0 -53
- package/dist/node/codecs/x690/encoders/encodeEmbeddedPDV.js +0 -15
- package/dist/node/codecs/x690/encoders/encodeExternal.js +0 -42
- package/dist/node/codecs/x690/encoders/encodeInteger.js +0 -7
- package/dist/node/codecs/x690/encoders/encodeOIDIRI.js +0 -10
- package/dist/node/codecs/x690/encoders/encodeReal.js +0 -10
- package/dist/node/codecs/x690/encoders/encodeRelativeOIDIRI.js +0 -10
- package/dist/node/codecs/x690/encoders/encodeSequence.d.ts +0 -3
- package/dist/node/codecs/x690/encoders/encodeSequence.js +0 -7
- package/dist/node/codecs/x690/encoders/encodeTime.js +0 -10
- package/dist/node/codecs/x690/encoders/encodeTimeOfDay.js +0 -10
- package/dist/node/codecs/x696/encoders/encodeBoolean.d.ts +0 -2
- package/dist/node/codecs/x696/encoders/encodeBoolean.js +0 -6
- package/dist/node/functional.js +0 -880
- package/dist/node/index.d.ts +0 -16
- package/dist/node/index.js +0 -42
- package/dist/node/interfaces/Byteable.d.ts +0 -4
- package/dist/node/interfaces/Byteable.js +0 -2
- package/dist/node/interfaces/CharacterValidationFunction.js +0 -2
- package/dist/node/interfaces/Debyteable.js +0 -2
- package/dist/node/interfaces/Deelementable.js +0 -2
- package/dist/node/interfaces/Destringable.js +0 -2
- package/dist/node/interfaces/Elementable.d.ts +0 -4
- package/dist/node/interfaces/Elementable.js +0 -2
- package/dist/node/interfaces/Enbyteable.js +0 -2
- package/dist/node/interfaces/Enelementable.js +0 -2
- package/dist/node/interfaces/Enstringable.js +0 -2
- package/dist/node/interfaces/Identified.js +0 -2
- package/dist/node/interfaces/Long.js +0 -2
- package/dist/node/interfaces/Named.js +0 -2
- package/dist/node/interfaces/Stringable.d.ts +0 -4
- package/dist/node/interfaces/Stringable.js +0 -2
- package/dist/node/interfaces/index.d.ts +0 -12
- package/dist/node/interfaces/index.js +0 -2
- package/dist/node/macros.js +0 -21
- package/dist/node/types/TypeIdentifier.js +0 -9
- package/dist/node/types/index.d.ts +0 -18
- package/dist/node/types/index.js +0 -42
- package/dist/node/types/time/DATE-ENCODING.js +0 -16
- package/dist/node/types/time/DURATION-EQUIVALENT.js +0 -124
- package/dist/node/types/time/DURATION-INTERVAL-ENCODING.js +0 -81
- package/dist/node/types/time/HOURS-DIFF-ENCODING.js +0 -15
- package/dist/node/types/time/HOURS-ENCODING.js +0 -13
- package/dist/node/types/time/HOURS-MINUTES-DIFF-ENCODING.js +0 -17
- package/dist/node/types/time/HOURS-MINUTES-ENCODING.js +0 -15
- package/dist/node/types/time/TIME-OF-DAY-DIFF-ENCODING.js +0 -19
- package/dist/node/types/time/TIME-OF-DAY-ENCODING.js +0 -17
- package/dist/node/types/time/TIME-OF-DAY-FRACTION-DIFF-ENCODING.js +0 -21
- package/dist/node/types/time/TIME-OF-DAY-FRACTION-ENCODING.js +0 -19
- package/dist/node/types/time/YEAR-ENCODING.js +0 -8
- package/dist/node/types/time/YEAR-MONTH-ENCODING.js +0 -14
- package/dist/node/utils/base128Length.js +0 -6
- package/dist/node/utils/convertBytesToText.js +0 -17
- package/dist/node/utils/convertTextToBytes.js +0 -14
- package/dist/node/utils/decodeIEEE754DoublePrecisionFloat.js +0 -6
- package/dist/node/utils/decodeIEEE754SinglePrecisionFloat.js +0 -6
- package/dist/node/utils/decodeSignedBigEndianInteger.js +0 -49
- package/dist/node/utils/decodeUnsignedBigEndianInteger.js +0 -49
- package/dist/node/utils/decodeX690RealNumber.js +0 -147
- package/dist/node/utils/dissectFloat.js +0 -16
- package/dist/node/utils/encodeIEEE754DoublePrecisionFloat.js +0 -6
- package/dist/node/utils/encodeIEEE754SinglePrecisionFloat.js +0 -6
- package/dist/node/utils/encodeSignedBigEndianInteger.js +0 -72
- package/dist/node/utils/encodeUnsignedBigEndianInteger.js +0 -59
- package/dist/node/utils/encodeX690Base10RealNumber.js +0 -27
- package/dist/node/utils/encodeX690BinaryRealNumber.js +0 -82
- package/dist/node/utils/getBitFromBase128.js +0 -7
- package/dist/node/utils/getBitFromBase256.js +0 -6
- package/dist/node/utils/index.js +0 -50
- package/dist/node/utils/sortCanonically.js +0 -14
- package/dist/node/utils/splitOctetsCanonically.js +0 -8
- package/dist/node/validators/datetimeComponentValidator.js +0 -50
- package/dist/node/validators/index.js +0 -18
- package/dist/node/validators/isGeneralCharacter.js +0 -6
- package/dist/node/validators/isGraphicCharacter.js +0 -6
- package/dist/node/validators/isNumericCharacter.js +0 -6
- package/dist/node/validators/isObjectDescriptorCharacter.js +0 -10
- package/dist/node/validators/isVisibleCharacter.js +0 -10
- package/dist/node/validators/validateConstruction.js +0 -73
- package/dist/node/validators/validateDate.js +0 -85
- package/dist/node/validators/validateDateTime.js +0 -12
- package/dist/node/validators/validateTime.js +0 -57
- package/dist/node/x690.js +0 -134
- /package/dist/{node/interfaces/CharacterValidationFunction.d.ts → interfaces/CharacterValidationFunction.d.mts} +0 -0
- /package/dist/{node/interfaces/Debyteable.d.ts → interfaces/Debyteable.d.mts} +0 -0
- /package/dist/{node/interfaces/Destringable.d.ts → interfaces/Destringable.d.mts} +0 -0
- /package/dist/{node/interfaces/Enbyteable.d.ts → interfaces/Enbyteable.d.mts} +0 -0
- /package/dist/{node/interfaces/Enstringable.d.ts → interfaces/Enstringable.d.mts} +0 -0
- /package/dist/{node/interfaces/Long.d.ts → interfaces/Long.d.mts} +0 -0
- /package/dist/{node/interfaces/Named.d.ts → interfaces/Named.d.mts} +0 -0
- /package/dist/{node/types/ObjectIdentifier.d.ts → types/ObjectIdentifier.d.mts} +0 -0
- /package/dist/{node/utils/base128Length.d.ts → utils/base128Length.d.mts} +0 -0
- /package/dist/{node/utils/convertBytesToText.d.ts → utils/convertBytesToText.d.mts} +0 -0
- /package/dist/{node/utils/convertTextToBytes.d.ts → utils/convertTextToBytes.d.mts} +0 -0
- /package/dist/{node/utils/decodeIEEE754DoublePrecisionFloat.d.ts → utils/decodeIEEE754DoublePrecisionFloat.d.mts} +0 -0
- /package/dist/{node/utils/decodeIEEE754SinglePrecisionFloat.d.ts → utils/decodeIEEE754SinglePrecisionFloat.d.mts} +0 -0
- /package/dist/{node/utils/decodeSignedBigEndianInteger.d.ts → utils/decodeSignedBigEndianInteger.d.mts} +0 -0
- /package/dist/{node/utils/decodeUnsignedBigEndianInteger.d.ts → utils/decodeUnsignedBigEndianInteger.d.mts} +0 -0
- /package/dist/{node/utils/decodeX690RealNumber.d.ts → utils/decodeX690RealNumber.d.mts} +0 -0
- /package/dist/{node/utils/dissectFloat.d.ts → utils/dissectFloat.d.mts} +0 -0
- /package/dist/{node/utils/encodeIEEE754DoublePrecisionFloat.d.ts → utils/encodeIEEE754DoublePrecisionFloat.d.mts} +0 -0
- /package/dist/{node/utils/encodeIEEE754SinglePrecisionFloat.d.ts → utils/encodeIEEE754SinglePrecisionFloat.d.mts} +0 -0
- /package/dist/{node/utils/encodeSignedBigEndianInteger.d.ts → utils/encodeSignedBigEndianInteger.d.mts} +0 -0
- /package/dist/{node/utils/encodeUnsignedBigEndianInteger.d.ts → utils/encodeUnsignedBigEndianInteger.d.mts} +0 -0
- /package/dist/{node/utils/encodeX690Base10RealNumber.d.ts → utils/encodeX690Base10RealNumber.d.mts} +0 -0
- /package/dist/{node/utils/encodeX690BinaryRealNumber.d.ts → utils/encodeX690BinaryRealNumber.d.mts} +0 -0
- /package/dist/{node/utils/getBitFromBase128.d.ts → utils/getBitFromBase128.d.mts} +0 -0
- /package/dist/{node/utils/getBitFromBase256.d.ts → utils/getBitFromBase256.d.mts} +0 -0
- /package/dist/{node/utils/setBitInBase128.d.ts → utils/setBitInBase128.d.mts} +0 -0
- /package/dist/{node/utils/setBitInBase256.d.ts → utils/setBitInBase256.d.mts} +0 -0
- /package/dist/{node/utils/splitOctetsCanonically.d.ts → utils/splitOctetsCanonically.d.mts} +0 -0
- /package/dist/{node/utils/trimLeadingPaddingBytes.d.ts → utils/trimLeadingPaddingBytes.d.mts} +0 -0
- /package/dist/{node/validators/isGeneralCharacter.d.ts → validators/isGeneralCharacter.d.mts} +0 -0
- /package/dist/{node/validators/isGraphicCharacter.d.ts → validators/isGraphicCharacter.d.mts} +0 -0
- /package/dist/{node/validators/isNumericCharacter.d.ts → validators/isNumericCharacter.d.mts} +0 -0
- /package/dist/{node/validators/isObjectDescriptorCharacter.d.ts → validators/isObjectDescriptorCharacter.d.mts} +0 -0
- /package/dist/{node/validators/isPrintableCharacter.d.ts → validators/isPrintableCharacter.d.mts} +0 -0
- /package/dist/{node/validators/isVisibleCharacter.d.ts → validators/isVisibleCharacter.d.mts} +0 -0
- /package/dist/{node/validators/validateDate.d.ts → validators/validateDate.d.mts} +0 -0
- /package/dist/{node/validators/validateDateTime.d.ts → validators/validateDateTime.d.mts} +0 -0
- /package/dist/{node/validators/validateTime.d.ts → validators/validateTime.d.mts} +0 -0
- /package/dist/{node/values.d.ts → values.d.mts} +0 -0
|
@@ -1,89 +1,53 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const encodeBoolean_1 = __importDefault(require("./x690/encoders/encodeBoolean"));
|
|
47
|
-
const decodeBoolean_1 = __importDefault(require("./der/decoders/decodeBoolean"));
|
|
48
|
-
const encodeBitString_1 = __importDefault(require("./x690/encoders/encodeBitString"));
|
|
49
|
-
const decodeBitString_1 = __importDefault(require("./der/decoders/decodeBitString"));
|
|
50
|
-
const encodeReal_1 = __importDefault(require("./x690/encoders/encodeReal"));
|
|
51
|
-
const decodeReal_1 = __importDefault(require("./der/decoders/decodeReal"));
|
|
52
|
-
const encodeSequence_1 = __importDefault(require("./x690/encoders/encodeSequence"));
|
|
53
|
-
const decodeSequence_1 = __importDefault(require("./der/decoders/decodeSequence"));
|
|
54
|
-
const encodeUTCTime_1 = __importDefault(require("./x690/encoders/encodeUTCTime"));
|
|
55
|
-
const decodeUTCTime_1 = __importDefault(require("./der/decoders/decodeUTCTime"));
|
|
56
|
-
const encodeGeneralizedTime_1 = __importDefault(require("./x690/encoders/encodeGeneralizedTime"));
|
|
57
|
-
const decodeGeneralizedTime_1 = __importDefault(require("./der/decoders/decodeGeneralizedTime"));
|
|
58
|
-
const encodeExternal_1 = __importDefault(require("../codecs/x690/encoders/encodeExternal"));
|
|
59
|
-
const encodeEmbeddedPDV_1 = __importDefault(require("../codecs/x690/encoders/encodeEmbeddedPDV"));
|
|
60
|
-
const encodeCharacterString_1 = __importDefault(require("../codecs/x690/encoders/encodeCharacterString"));
|
|
61
|
-
const decodeExternal_1 = __importDefault(require("../codecs/x690/decoders/decodeExternal"));
|
|
62
|
-
const decodeEmbeddedPDV_1 = __importDefault(require("../codecs/x690/decoders/decodeEmbeddedPDV"));
|
|
63
|
-
const decodeCharacterString_1 = __importDefault(require("../codecs/x690/decoders/decodeCharacterString"));
|
|
64
|
-
const encodeGraphicString_1 = __importDefault(require("../codecs/ber/encoders/encodeGraphicString"));
|
|
65
|
-
const encodeNumericString_1 = __importDefault(require("../codecs/ber/encoders/encodeNumericString"));
|
|
66
|
-
const encodeObjectDescriptor_1 = __importDefault(require("../codecs/ber/encoders/encodeObjectDescriptor"));
|
|
67
|
-
const encodePrintableString_1 = __importDefault(require("../codecs/ber/encoders/encodePrintableString"));
|
|
68
|
-
const encodeVisibleString_1 = __importDefault(require("../codecs/ber/encoders/encodeVisibleString"));
|
|
69
|
-
const encodeGeneralString_1 = __importDefault(require("../codecs/ber/encoders/encodeGeneralString"));
|
|
70
|
-
const decodeGraphicString_1 = __importDefault(require("../codecs/x690/decoders/decodeGraphicString"));
|
|
71
|
-
const decodeNumericString_1 = __importDefault(require("../codecs/x690/decoders/decodeNumericString"));
|
|
72
|
-
const decodeObjectDescriptor_1 = __importDefault(require("../codecs/x690/decoders/decodeObjectDescriptor"));
|
|
73
|
-
const decodePrintableString_1 = __importDefault(require("../codecs/x690/decoders/decodePrintableString"));
|
|
74
|
-
const decodeVisibleString_1 = __importDefault(require("../codecs/x690/decoders/decodeVisibleString"));
|
|
75
|
-
const decodeGeneralString_1 = __importDefault(require("../codecs/x690/decoders/decodeGeneralString"));
|
|
76
|
-
const encodeDuration_1 = __importDefault(require("../codecs/x690/encoders/encodeDuration"));
|
|
77
|
-
const decodeDuration_1 = __importDefault(require("../codecs/der/decoders/decodeDuration"));
|
|
78
|
-
const x690_1 = __importDefault(require("../x690"));
|
|
79
|
-
const utils_1 = require("../utils");
|
|
80
|
-
const node_buffer_1 = require("node:buffer");
|
|
81
|
-
class DERElement extends x690_1.default {
|
|
1
|
+
import ASN1Element from "../asn1.mjs";
|
|
2
|
+
import * as errors from "../errors.mjs";
|
|
3
|
+
import { ASN1Construction, ASN1TagClass, ASN1UniversalType, } from "../values.mjs";
|
|
4
|
+
import convertBytesToText from "../utils/convertBytesToText.mjs";
|
|
5
|
+
import convertTextToBytes from "../utils/convertTextToBytes.mjs";
|
|
6
|
+
import sortCanonically from "../utils/sortCanonically.mjs";
|
|
7
|
+
import ObjectIdentifier from "../types/ObjectIdentifier.mjs";
|
|
8
|
+
import encodeBoolean from "./x690/encoders/encodeBoolean.mjs";
|
|
9
|
+
import decodeBoolean from "./der/decoders/decodeBoolean.mjs";
|
|
10
|
+
import encodeBitString from "./x690/encoders/encodeBitString.mjs";
|
|
11
|
+
import decodeBitString from "./der/decoders/decodeBitString.mjs";
|
|
12
|
+
import encodeReal from "./x690/encoders/encodeReal.mjs";
|
|
13
|
+
import decodeReal from "./der/decoders/decodeReal.mjs";
|
|
14
|
+
import encodeSequence from "./x690/encoders/encodeSequence.mjs";
|
|
15
|
+
import decodeSequence from "./der/decoders/decodeSequence.mjs";
|
|
16
|
+
import encodeUTCTime from "./x690/encoders/encodeUTCTime.mjs";
|
|
17
|
+
import decodeUTCTime from "./der/decoders/decodeUTCTime.mjs";
|
|
18
|
+
import encodeGeneralizedTime from "./x690/encoders/encodeGeneralizedTime.mjs";
|
|
19
|
+
import decodeGeneralizedTime from "./der/decoders/decodeGeneralizedTime.mjs";
|
|
20
|
+
import encodeExternal from "../codecs/x690/encoders/encodeExternal.mjs";
|
|
21
|
+
import encodeEmbeddedPDV from "../codecs/x690/encoders/encodeEmbeddedPDV.mjs";
|
|
22
|
+
import encodeCharacterString from "../codecs/x690/encoders/encodeCharacterString.mjs";
|
|
23
|
+
import decodeExternal from "../codecs/x690/decoders/decodeExternal.mjs";
|
|
24
|
+
import decodeEmbeddedPDV from "../codecs/x690/decoders/decodeEmbeddedPDV.mjs";
|
|
25
|
+
import decodeCharacterString from "../codecs/x690/decoders/decodeCharacterString.mjs";
|
|
26
|
+
import encodeGraphicString from "../codecs/ber/encoders/encodeGraphicString.mjs";
|
|
27
|
+
import encodeNumericString from "../codecs/ber/encoders/encodeNumericString.mjs";
|
|
28
|
+
import encodeObjectDescriptor from "../codecs/ber/encoders/encodeObjectDescriptor.mjs";
|
|
29
|
+
import encodePrintableString from "../codecs/ber/encoders/encodePrintableString.mjs";
|
|
30
|
+
import encodeVisibleString from "../codecs/ber/encoders/encodeVisibleString.mjs";
|
|
31
|
+
import encodeGeneralString from "../codecs/ber/encoders/encodeGeneralString.mjs";
|
|
32
|
+
import decodeGraphicString from "../codecs/x690/decoders/decodeGraphicString.mjs";
|
|
33
|
+
import decodeNumericString from "../codecs/x690/decoders/decodeNumericString.mjs";
|
|
34
|
+
import decodeObjectDescriptor from "../codecs/x690/decoders/decodeObjectDescriptor.mjs";
|
|
35
|
+
import decodePrintableString from "../codecs/x690/decoders/decodePrintableString.mjs";
|
|
36
|
+
import decodeVisibleString from "../codecs/x690/decoders/decodeVisibleString.mjs";
|
|
37
|
+
import decodeGeneralString from "../codecs/x690/decoders/decodeGeneralString.mjs";
|
|
38
|
+
import encodeDuration from "../codecs/x690/encoders/encodeDuration.mjs";
|
|
39
|
+
import decodeDuration from "../codecs/der/decoders/decodeDuration.mjs";
|
|
40
|
+
import X690Element from "../x690.mjs";
|
|
41
|
+
import { isUniquelyTagged } from "../utils/index.mjs";
|
|
42
|
+
import { Buffer } from "node:buffer";
|
|
43
|
+
export default class DERElement extends X690Element {
|
|
44
|
+
_value = new Uint8Array(0);
|
|
45
|
+
_currentValueLength;
|
|
82
46
|
get value() {
|
|
83
47
|
if (this._value instanceof Uint8Array) {
|
|
84
48
|
return this._value;
|
|
85
49
|
}
|
|
86
|
-
const bytes = (
|
|
50
|
+
const bytes = encodeSequence(this._value);
|
|
87
51
|
this._value = bytes;
|
|
88
52
|
return bytes;
|
|
89
53
|
}
|
|
@@ -96,112 +60,112 @@ class DERElement extends x690_1.default {
|
|
|
96
60
|
this._value = els;
|
|
97
61
|
}
|
|
98
62
|
set boolean(value) {
|
|
99
|
-
this.value = (
|
|
63
|
+
this.value = encodeBoolean(value);
|
|
100
64
|
}
|
|
101
65
|
get boolean() {
|
|
102
|
-
if (this.construction !==
|
|
66
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
103
67
|
throw new errors.ASN1ConstructionError("BOOLEAN cannot be constructed.", this);
|
|
104
68
|
}
|
|
105
|
-
return (
|
|
69
|
+
return decodeBoolean(this.value);
|
|
106
70
|
}
|
|
107
71
|
set bitString(value) {
|
|
108
|
-
this.value = (
|
|
72
|
+
this.value = encodeBitString(value);
|
|
109
73
|
}
|
|
110
74
|
get bitString() {
|
|
111
|
-
if (this.construction !==
|
|
75
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
112
76
|
throw new errors.ASN1ConstructionError("BIT STRING cannot be constructed.", this);
|
|
113
77
|
}
|
|
114
|
-
return (
|
|
78
|
+
return decodeBitString(this.value);
|
|
115
79
|
}
|
|
116
80
|
set octetString(value) {
|
|
117
81
|
this.value = new Uint8Array(value);
|
|
118
82
|
}
|
|
119
83
|
get octetString() {
|
|
120
|
-
if (this.construction !==
|
|
84
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
121
85
|
throw new errors.ASN1ConstructionError("OCTET STRING cannot be constructed.", this);
|
|
122
86
|
}
|
|
123
87
|
return new Uint8Array(this.value);
|
|
124
88
|
}
|
|
125
89
|
set objectDescriptor(value) {
|
|
126
|
-
this.value = (
|
|
90
|
+
this.value = encodeObjectDescriptor(value);
|
|
127
91
|
}
|
|
128
92
|
get objectDescriptor() {
|
|
129
|
-
return (
|
|
93
|
+
return decodeObjectDescriptor(this.value);
|
|
130
94
|
}
|
|
131
95
|
set external(value) {
|
|
132
|
-
this.value = (
|
|
133
|
-
this.construction =
|
|
96
|
+
this.value = encodeExternal(value);
|
|
97
|
+
this.construction = ASN1Construction.constructed;
|
|
134
98
|
}
|
|
135
99
|
get external() {
|
|
136
|
-
if (this.construction !==
|
|
100
|
+
if (this.construction !== ASN1Construction.constructed) {
|
|
137
101
|
throw new errors.ASN1ConstructionError("EXTERNAL cannot be primitively-constructed.", this);
|
|
138
102
|
}
|
|
139
|
-
return (
|
|
103
|
+
return decodeExternal(this.value);
|
|
140
104
|
}
|
|
141
105
|
set real(value) {
|
|
142
|
-
this.value = (
|
|
106
|
+
this.value = encodeReal(value);
|
|
143
107
|
}
|
|
144
108
|
get real() {
|
|
145
|
-
if (this.construction !==
|
|
109
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
146
110
|
throw new errors.ASN1ConstructionError("REAL cannot be constructed.", this);
|
|
147
111
|
}
|
|
148
|
-
return (
|
|
112
|
+
return decodeReal(this.value);
|
|
149
113
|
}
|
|
150
114
|
set embeddedPDV(value) {
|
|
151
|
-
this.value = (
|
|
152
|
-
this.construction =
|
|
115
|
+
this.value = encodeEmbeddedPDV(value);
|
|
116
|
+
this.construction = ASN1Construction.constructed;
|
|
153
117
|
}
|
|
154
118
|
get embeddedPDV() {
|
|
155
|
-
if (this.construction !==
|
|
119
|
+
if (this.construction !== ASN1Construction.constructed) {
|
|
156
120
|
throw new errors.ASN1ConstructionError("EMBEDDED PDV cannot be primitively-constructed.", this);
|
|
157
121
|
}
|
|
158
|
-
return (
|
|
122
|
+
return decodeEmbeddedPDV(this.value);
|
|
159
123
|
}
|
|
160
124
|
set utf8String(value) {
|
|
161
|
-
this.value = (
|
|
125
|
+
this.value = convertTextToBytes(value);
|
|
162
126
|
}
|
|
163
127
|
get utf8String() {
|
|
164
|
-
if (this.construction !==
|
|
128
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
165
129
|
throw new errors.ASN1ConstructionError("UTF8String cannot be constructed.", this);
|
|
166
130
|
}
|
|
167
|
-
return (
|
|
131
|
+
return convertBytesToText(this.value);
|
|
168
132
|
}
|
|
169
133
|
set sequence(value) {
|
|
170
134
|
this.construct(value);
|
|
171
|
-
this.construction =
|
|
135
|
+
this.construction = ASN1Construction.constructed;
|
|
172
136
|
}
|
|
173
137
|
get sequence() {
|
|
174
|
-
if (this.construction !==
|
|
138
|
+
if (this.construction !== ASN1Construction.constructed) {
|
|
175
139
|
throw new errors.ASN1ConstructionError("SET or SEQUENCE cannot be primitively constructed.", this);
|
|
176
140
|
}
|
|
177
141
|
if (Array.isArray(this._value)) {
|
|
178
142
|
return this._value;
|
|
179
143
|
}
|
|
180
|
-
return (
|
|
144
|
+
return decodeSequence(this.value);
|
|
181
145
|
}
|
|
182
146
|
set set(value) {
|
|
183
|
-
(
|
|
147
|
+
sortCanonically(value);
|
|
184
148
|
this.sequence = value;
|
|
185
149
|
}
|
|
186
150
|
get set() {
|
|
187
151
|
const ret = this.sequence;
|
|
188
|
-
if (!
|
|
152
|
+
if (!isUniquelyTagged(ret)) {
|
|
189
153
|
throw new errors.ASN1ConstructionError("Duplicate tag in SET.", this);
|
|
190
154
|
}
|
|
191
155
|
return ret;
|
|
192
156
|
}
|
|
193
157
|
set sequenceOf(value) {
|
|
194
158
|
this.construct(value);
|
|
195
|
-
this.construction =
|
|
159
|
+
this.construction = ASN1Construction.constructed;
|
|
196
160
|
}
|
|
197
161
|
get sequenceOf() {
|
|
198
|
-
if (this.construction !==
|
|
162
|
+
if (this.construction !== ASN1Construction.constructed) {
|
|
199
163
|
throw new errors.ASN1ConstructionError("SET or SEQUENCE cannot be primitively constructed.", this);
|
|
200
164
|
}
|
|
201
165
|
if (Array.isArray(this._value)) {
|
|
202
166
|
return this._value;
|
|
203
167
|
}
|
|
204
|
-
return (
|
|
168
|
+
return decodeSequence(this.value);
|
|
205
169
|
}
|
|
206
170
|
set setOf(value) {
|
|
207
171
|
this.sequence = value;
|
|
@@ -210,22 +174,22 @@ class DERElement extends x690_1.default {
|
|
|
210
174
|
return this.sequence;
|
|
211
175
|
}
|
|
212
176
|
set numericString(value) {
|
|
213
|
-
this.value = (
|
|
177
|
+
this.value = encodeNumericString(value);
|
|
214
178
|
}
|
|
215
179
|
get numericString() {
|
|
216
|
-
if (this.construction !==
|
|
180
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
217
181
|
throw new errors.ASN1ConstructionError("NumericString cannot be constructed.", this);
|
|
218
182
|
}
|
|
219
|
-
return (
|
|
183
|
+
return decodeNumericString(this.value);
|
|
220
184
|
}
|
|
221
185
|
set printableString(value) {
|
|
222
|
-
this.value = (
|
|
186
|
+
this.value = encodePrintableString(value);
|
|
223
187
|
}
|
|
224
188
|
get printableString() {
|
|
225
|
-
if (this.construction !==
|
|
189
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
226
190
|
throw new errors.ASN1ConstructionError("PrintableString cannot be constructed.", this);
|
|
227
191
|
}
|
|
228
|
-
return (
|
|
192
|
+
return decodePrintableString(this.value);
|
|
229
193
|
}
|
|
230
194
|
set teletexString(value) {
|
|
231
195
|
this.value = new Uint8Array(value);
|
|
@@ -240,65 +204,65 @@ class DERElement extends x690_1.default {
|
|
|
240
204
|
return this.octetString;
|
|
241
205
|
}
|
|
242
206
|
set ia5String(value) {
|
|
243
|
-
this.value = (
|
|
207
|
+
this.value = convertTextToBytes(value);
|
|
244
208
|
}
|
|
245
209
|
get ia5String() {
|
|
246
|
-
if (this.construction !==
|
|
210
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
247
211
|
throw new errors.ASN1ConstructionError("IA5String cannot be constructed.", this);
|
|
248
212
|
}
|
|
249
|
-
return (
|
|
213
|
+
return convertBytesToText(this.value);
|
|
250
214
|
}
|
|
251
215
|
set utcTime(value) {
|
|
252
|
-
this.value = (
|
|
216
|
+
this.value = encodeUTCTime(value);
|
|
253
217
|
}
|
|
254
218
|
get utcTime() {
|
|
255
|
-
if (this.construction !==
|
|
219
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
256
220
|
throw new errors.ASN1ConstructionError("UTCTime cannot be constructed.", this);
|
|
257
221
|
}
|
|
258
|
-
return (
|
|
222
|
+
return decodeUTCTime(this.value);
|
|
259
223
|
}
|
|
260
224
|
set generalizedTime(value) {
|
|
261
|
-
this.value = (
|
|
225
|
+
this.value = encodeGeneralizedTime(value);
|
|
262
226
|
}
|
|
263
227
|
get generalizedTime() {
|
|
264
|
-
if (this.construction !==
|
|
228
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
265
229
|
throw new errors.ASN1ConstructionError("GeneralizedTime cannot be constructed.", this);
|
|
266
230
|
}
|
|
267
|
-
return (
|
|
231
|
+
return decodeGeneralizedTime(this.value);
|
|
268
232
|
}
|
|
269
233
|
set graphicString(value) {
|
|
270
|
-
this.value = (
|
|
234
|
+
this.value = encodeGraphicString(value);
|
|
271
235
|
}
|
|
272
236
|
get graphicString() {
|
|
273
|
-
if (this.construction !==
|
|
237
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
274
238
|
throw new errors.ASN1ConstructionError("GraphicString cannot be constructed.", this);
|
|
275
239
|
}
|
|
276
|
-
return (
|
|
240
|
+
return decodeGraphicString(this.value);
|
|
277
241
|
}
|
|
278
242
|
set visibleString(value) {
|
|
279
|
-
this.value = (
|
|
243
|
+
this.value = encodeVisibleString(value);
|
|
280
244
|
}
|
|
281
245
|
get visibleString() {
|
|
282
|
-
return (
|
|
246
|
+
return decodeVisibleString(this.value);
|
|
283
247
|
}
|
|
284
248
|
set generalString(value) {
|
|
285
|
-
this.value = (
|
|
249
|
+
this.value = encodeGeneralString(value);
|
|
286
250
|
}
|
|
287
251
|
get generalString() {
|
|
288
|
-
if (this.construction !==
|
|
252
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
289
253
|
throw new errors.ASN1ConstructionError("GeneralString cannot be constructed.", this);
|
|
290
254
|
}
|
|
291
|
-
return (
|
|
255
|
+
return decodeGeneralString(this.value);
|
|
292
256
|
}
|
|
293
257
|
set characterString(value) {
|
|
294
|
-
this.value = (
|
|
295
|
-
this.construction =
|
|
258
|
+
this.value = encodeCharacterString(value);
|
|
259
|
+
this.construction = ASN1Construction.constructed;
|
|
296
260
|
}
|
|
297
261
|
get characterString() {
|
|
298
|
-
if (this.construction !==
|
|
262
|
+
if (this.construction !== ASN1Construction.constructed) {
|
|
299
263
|
throw new errors.ASN1ConstructionError("CHARACTER STRING cannot be primitively-constructed.", this);
|
|
300
264
|
}
|
|
301
|
-
return (
|
|
265
|
+
return decodeCharacterString(this.value);
|
|
302
266
|
}
|
|
303
267
|
set universalString(value) {
|
|
304
268
|
const buf = new Uint8Array(value.length << 2);
|
|
@@ -311,7 +275,7 @@ class DERElement extends x690_1.default {
|
|
|
311
275
|
this.value = buf;
|
|
312
276
|
}
|
|
313
277
|
get universalString() {
|
|
314
|
-
if (this.construction !==
|
|
278
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
315
279
|
throw new errors.ASN1ConstructionError("UniversalString cannot be constructed.", this);
|
|
316
280
|
}
|
|
317
281
|
if (this.value.length % 4) {
|
|
@@ -335,13 +299,13 @@ class DERElement extends x690_1.default {
|
|
|
335
299
|
this.value = buf;
|
|
336
300
|
}
|
|
337
301
|
get bmpString() {
|
|
338
|
-
if (this.construction !==
|
|
302
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
339
303
|
throw new errors.ASN1ConstructionError("BMPString cannot be constructed.", this);
|
|
340
304
|
}
|
|
341
305
|
if (this.value.length % 2)
|
|
342
306
|
throw new errors.ASN1Error("BMPString encoded on non-mulitple of two bytes.", this);
|
|
343
|
-
if (typeof
|
|
344
|
-
const swappedEndianness =
|
|
307
|
+
if (typeof Buffer !== "undefined") {
|
|
308
|
+
const swappedEndianness = Buffer.allocUnsafe(this.value.length);
|
|
345
309
|
for (let i = 0; i < this.value.length; i += 2) {
|
|
346
310
|
swappedEndianness[i] = this.value[i + 1];
|
|
347
311
|
swappedEndianness[i + 1] = this.value[i];
|
|
@@ -356,10 +320,10 @@ class DERElement extends x690_1.default {
|
|
|
356
320
|
}
|
|
357
321
|
}
|
|
358
322
|
set duration(value) {
|
|
359
|
-
this.value = (
|
|
323
|
+
this.value = encodeDuration(value);
|
|
360
324
|
}
|
|
361
325
|
get duration() {
|
|
362
|
-
return (
|
|
326
|
+
return decodeDuration(this.value);
|
|
363
327
|
}
|
|
364
328
|
encode(value) {
|
|
365
329
|
switch (typeof value) {
|
|
@@ -368,52 +332,52 @@ class DERElement extends x690_1.default {
|
|
|
368
332
|
break;
|
|
369
333
|
}
|
|
370
334
|
case ("boolean"): {
|
|
371
|
-
this.tagNumber =
|
|
335
|
+
this.tagNumber = ASN1UniversalType.boolean;
|
|
372
336
|
this.boolean = value;
|
|
373
337
|
break;
|
|
374
338
|
}
|
|
375
339
|
case ("number"): {
|
|
376
340
|
if (Number.isInteger(value)) {
|
|
377
|
-
this.tagNumber =
|
|
341
|
+
this.tagNumber = ASN1UniversalType.integer;
|
|
378
342
|
this.integer = value;
|
|
379
343
|
}
|
|
380
344
|
else {
|
|
381
|
-
this.tagNumber =
|
|
345
|
+
this.tagNumber = ASN1UniversalType.realNumber;
|
|
382
346
|
this.real = value;
|
|
383
347
|
}
|
|
384
348
|
break;
|
|
385
349
|
}
|
|
386
350
|
case ("bigint"): {
|
|
387
|
-
this.tagNumber =
|
|
351
|
+
this.tagNumber = ASN1UniversalType.integer;
|
|
388
352
|
this.integer = value;
|
|
389
353
|
break;
|
|
390
354
|
}
|
|
391
355
|
case ("string"): {
|
|
392
|
-
this.tagNumber =
|
|
356
|
+
this.tagNumber = ASN1UniversalType.utf8String;
|
|
393
357
|
this.utf8String = value;
|
|
394
358
|
break;
|
|
395
359
|
}
|
|
396
360
|
case ("object"): {
|
|
397
361
|
if (!value) {
|
|
398
|
-
this.tagNumber =
|
|
362
|
+
this.tagNumber = ASN1UniversalType.nill;
|
|
399
363
|
this.value = new Uint8Array(0);
|
|
400
364
|
}
|
|
401
365
|
else if (value instanceof Uint8Array) {
|
|
402
|
-
this.tagNumber =
|
|
366
|
+
this.tagNumber = ASN1UniversalType.octetString;
|
|
403
367
|
this.octetString = value;
|
|
404
368
|
}
|
|
405
369
|
else if (value instanceof Uint8ClampedArray) {
|
|
406
|
-
this.tagNumber =
|
|
370
|
+
this.tagNumber = ASN1UniversalType.bitString;
|
|
407
371
|
this.bitString = value;
|
|
408
372
|
}
|
|
409
|
-
else if (value instanceof
|
|
410
|
-
this.construction =
|
|
373
|
+
else if (value instanceof ASN1Element) {
|
|
374
|
+
this.construction = ASN1Construction.constructed;
|
|
411
375
|
this.sequence = [value];
|
|
412
376
|
}
|
|
413
377
|
else if (value instanceof Set) {
|
|
414
|
-
this.construction =
|
|
378
|
+
this.construction = ASN1Construction.constructed;
|
|
415
379
|
this.set = Array.from(value).map((v) => {
|
|
416
|
-
if (typeof v === "object" && v instanceof
|
|
380
|
+
if (typeof v === "object" && v instanceof ASN1Element) {
|
|
417
381
|
return v;
|
|
418
382
|
}
|
|
419
383
|
else {
|
|
@@ -423,13 +387,13 @@ class DERElement extends x690_1.default {
|
|
|
423
387
|
}
|
|
424
388
|
});
|
|
425
389
|
}
|
|
426
|
-
else if ((value instanceof
|
|
427
|
-
this.tagNumber =
|
|
390
|
+
else if ((value instanceof ObjectIdentifier) || (value.constructor?.name === "ObjectIdentifier")) {
|
|
391
|
+
this.tagNumber = ASN1UniversalType.objectIdentifier;
|
|
428
392
|
this.objectIdentifier = value;
|
|
429
393
|
}
|
|
430
394
|
else if (Array.isArray(value)) {
|
|
431
|
-
this.construction =
|
|
432
|
-
this.tagNumber =
|
|
395
|
+
this.construction = ASN1Construction.constructed;
|
|
396
|
+
this.tagNumber = ASN1UniversalType.sequence;
|
|
433
397
|
this.sequence = value.map((sub) => {
|
|
434
398
|
const ret = new DERElement();
|
|
435
399
|
ret.encode(sub);
|
|
@@ -450,22 +414,22 @@ class DERElement extends x690_1.default {
|
|
|
450
414
|
}
|
|
451
415
|
}
|
|
452
416
|
static fromSequence(sequence) {
|
|
453
|
-
const ret = new DERElement(
|
|
417
|
+
const ret = new DERElement(ASN1TagClass.universal, ASN1Construction.constructed, ASN1UniversalType.sequence);
|
|
454
418
|
ret.sequence = sequence.filter((element) => Boolean(element));
|
|
455
419
|
return ret;
|
|
456
420
|
}
|
|
457
421
|
static fromSet(set) {
|
|
458
|
-
const ret = new DERElement(
|
|
422
|
+
const ret = new DERElement(ASN1TagClass.universal, ASN1Construction.constructed, ASN1UniversalType.set);
|
|
459
423
|
ret.set = set.filter((element) => Boolean(element));
|
|
460
424
|
return ret;
|
|
461
425
|
}
|
|
462
426
|
static fromSetOf(set) {
|
|
463
|
-
const ret = new DERElement(
|
|
427
|
+
const ret = new DERElement(ASN1TagClass.universal, ASN1Construction.constructed, ASN1UniversalType.set);
|
|
464
428
|
ret.setOf = set.filter((element) => Boolean(element));
|
|
465
429
|
return ret;
|
|
466
430
|
}
|
|
467
431
|
get inner() {
|
|
468
|
-
if (this.construction !==
|
|
432
|
+
if (this.construction !== ASN1Construction.constructed) {
|
|
469
433
|
throw new errors.ASN1ConstructionError("An explicitly-encoded element cannot be encoded using "
|
|
470
434
|
+ "primitive construction.", this);
|
|
471
435
|
}
|
|
@@ -486,12 +450,11 @@ class DERElement extends x690_1.default {
|
|
|
486
450
|
return ret;
|
|
487
451
|
}
|
|
488
452
|
set inner(value) {
|
|
489
|
-
this.construction =
|
|
453
|
+
this.construction = ASN1Construction.constructed;
|
|
490
454
|
this._value = [value];
|
|
491
455
|
}
|
|
492
|
-
constructor(tagClass =
|
|
456
|
+
constructor(tagClass = ASN1TagClass.universal, construction = ASN1Construction.primitive, tagNumber = ASN1UniversalType.endOfContent, value = undefined) {
|
|
493
457
|
super();
|
|
494
|
-
this._value = new Uint8Array(0);
|
|
495
458
|
this.encode(value);
|
|
496
459
|
this.tagClass = tagClass;
|
|
497
460
|
this.construction = construction;
|
|
@@ -504,21 +467,21 @@ class DERElement extends x690_1.default {
|
|
|
504
467
|
let cursor = 0;
|
|
505
468
|
switch (bytes[cursor] & 0b11000000) {
|
|
506
469
|
case (0b00000000):
|
|
507
|
-
this.tagClass =
|
|
470
|
+
this.tagClass = ASN1TagClass.universal;
|
|
508
471
|
break;
|
|
509
472
|
case (0b01000000):
|
|
510
|
-
this.tagClass =
|
|
473
|
+
this.tagClass = ASN1TagClass.application;
|
|
511
474
|
break;
|
|
512
475
|
case (0b10000000):
|
|
513
|
-
this.tagClass =
|
|
476
|
+
this.tagClass = ASN1TagClass.context;
|
|
514
477
|
break;
|
|
515
478
|
case (0b11000000):
|
|
516
|
-
this.tagClass =
|
|
479
|
+
this.tagClass = ASN1TagClass.private;
|
|
517
480
|
break;
|
|
518
|
-
default: this.tagClass =
|
|
481
|
+
default: this.tagClass = ASN1TagClass.universal;
|
|
519
482
|
}
|
|
520
483
|
this.construction = ((bytes[cursor] & 0b00100000)
|
|
521
|
-
?
|
|
484
|
+
? ASN1Construction.constructed : ASN1Construction.primitive);
|
|
522
485
|
this.tagNumber = (bytes[cursor] & 0b00011111);
|
|
523
486
|
cursor++;
|
|
524
487
|
if (this.tagNumber >= 31) {
|
|
@@ -695,4 +658,3 @@ class DERElement extends x690_1.default {
|
|
|
695
658
|
+ value_len);
|
|
696
659
|
}
|
|
697
660
|
}
|
|
698
|
-
exports.default = DERElement;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import CharacterString from "../../../types/CharacterString";
|
|
1
|
+
import CharacterString from "../../../types/CharacterString.mjs";
|
|
2
2
|
export default function decodeCharacterString(value: Uint8Array): CharacterString;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import CharacterString from "../../../types/CharacterString.mjs";
|
|
2
|
+
import decodeSequence from "../../der/decoders/decodeSequence.mjs";
|
|
3
|
+
import { ASN1ConstructionError } from "../../../errors.mjs";
|
|
4
|
+
export default function decodeCharacterString(value) {
|
|
5
|
+
const components = decodeSequence(value);
|
|
6
|
+
if (components.length !== 2) {
|
|
7
|
+
throw new ASN1ConstructionError(`CharacterString must contain 2 components, not ${components.length}.`);
|
|
8
|
+
}
|
|
9
|
+
const identification = components[0];
|
|
10
|
+
const stringValue = components[1].octetString;
|
|
11
|
+
return new CharacterString(identification, stringValue);
|
|
12
|
+
}
|
package/dist/{node/codecs/x690/decoders/decodeDate.d.ts → codecs/x690/decoders/decodeDate.d.mts}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { DATE } from "../../../macros";
|
|
1
|
+
import { DATE } from "../../../macros.mjs";
|
|
2
2
|
export default function decodeDate(bytes: Uint8Array): DATE;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import convertBytesToText from "../../../utils/convertBytesToText.mjs";
|
|
2
|
+
import validateDate from "../../../validators/validateDate.mjs";
|
|
3
|
+
export default function decodeDate(bytes) {
|
|
4
|
+
const str = convertBytesToText(bytes);
|
|
5
|
+
const year = parseInt(str.slice(0, 4), 10);
|
|
6
|
+
const month = parseInt(str.slice(4, 6), 10) - 1;
|
|
7
|
+
const day = parseInt(str.slice(6, 8), 10);
|
|
8
|
+
validateDate("DATE", year, month, day);
|
|
9
|
+
return new Date(year, month, day);
|
|
10
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { DATE_TIME } from "../../../macros";
|
|
1
|
+
import { DATE_TIME } from "../../../macros.mjs";
|
|
2
2
|
export default function decodeDateTime(bytes: Uint8Array): DATE_TIME;
|