asn1-ts 8.0.4 → 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} +8 -7
- package/dist/{node/asn1.js → asn1.mjs} +90 -130
- 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} +139 -176
- 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} +143 -180
- 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} +136 -173
- 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/codecs/x690/encoders/encodeObjectIdentifier.d.mts +3 -0
- package/dist/{node/codecs/x690/encoders/encodeObjectIdentifier.js → codecs/x690/encoders/encodeObjectIdentifier.mjs} +2 -4
- 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} +2 -4
- 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.d.ts → types/ObjectIdentifier.d.mts} +1 -0
- 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} +2 -1
- package/dist/{node/utils/bigint.js → utils/bigint.mjs} +7 -10
- 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/{node/utils/convertBytesToText.js → utils/convertBytesToText.mjs} +4 -6
- 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/{node/utils/sortCanonically.js → utils/sortCanonically.mjs} +2 -4
- 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 -51
- 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/encodeObjectIdentifier.d.ts +0 -2
- 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 -6
- 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/convertTextToBytes.js +0 -13
- package/dist/node/utils/decodeIEEE754DoublePrecisionFloat.js +0 -6
- package/dist/node/utils/decodeIEEE754SinglePrecisionFloat.js +0 -6
- package/dist/node/utils/decodeSignedBigEndianInteger.js +0 -48
- package/dist/node/utils/decodeUnsignedBigEndianInteger.js +0 -48
- 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 -58
- 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/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/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,88 +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
|
-
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;
|
|
81
46
|
get value() {
|
|
82
47
|
if (this._value instanceof Uint8Array) {
|
|
83
48
|
return this._value;
|
|
84
49
|
}
|
|
85
|
-
const bytes = (
|
|
50
|
+
const bytes = encodeSequence(this._value);
|
|
86
51
|
this._value = bytes;
|
|
87
52
|
return bytes;
|
|
88
53
|
}
|
|
@@ -95,112 +60,112 @@ class DERElement extends x690_1.default {
|
|
|
95
60
|
this._value = els;
|
|
96
61
|
}
|
|
97
62
|
set boolean(value) {
|
|
98
|
-
this.value = (
|
|
63
|
+
this.value = encodeBoolean(value);
|
|
99
64
|
}
|
|
100
65
|
get boolean() {
|
|
101
|
-
if (this.construction !==
|
|
66
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
102
67
|
throw new errors.ASN1ConstructionError("BOOLEAN cannot be constructed.", this);
|
|
103
68
|
}
|
|
104
|
-
return (
|
|
69
|
+
return decodeBoolean(this.value);
|
|
105
70
|
}
|
|
106
71
|
set bitString(value) {
|
|
107
|
-
this.value = (
|
|
72
|
+
this.value = encodeBitString(value);
|
|
108
73
|
}
|
|
109
74
|
get bitString() {
|
|
110
|
-
if (this.construction !==
|
|
75
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
111
76
|
throw new errors.ASN1ConstructionError("BIT STRING cannot be constructed.", this);
|
|
112
77
|
}
|
|
113
|
-
return (
|
|
78
|
+
return decodeBitString(this.value);
|
|
114
79
|
}
|
|
115
80
|
set octetString(value) {
|
|
116
81
|
this.value = new Uint8Array(value);
|
|
117
82
|
}
|
|
118
83
|
get octetString() {
|
|
119
|
-
if (this.construction !==
|
|
84
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
120
85
|
throw new errors.ASN1ConstructionError("OCTET STRING cannot be constructed.", this);
|
|
121
86
|
}
|
|
122
87
|
return new Uint8Array(this.value);
|
|
123
88
|
}
|
|
124
89
|
set objectDescriptor(value) {
|
|
125
|
-
this.value = (
|
|
90
|
+
this.value = encodeObjectDescriptor(value);
|
|
126
91
|
}
|
|
127
92
|
get objectDescriptor() {
|
|
128
|
-
return (
|
|
93
|
+
return decodeObjectDescriptor(this.value);
|
|
129
94
|
}
|
|
130
95
|
set external(value) {
|
|
131
|
-
this.value = (
|
|
132
|
-
this.construction =
|
|
96
|
+
this.value = encodeExternal(value);
|
|
97
|
+
this.construction = ASN1Construction.constructed;
|
|
133
98
|
}
|
|
134
99
|
get external() {
|
|
135
|
-
if (this.construction !==
|
|
100
|
+
if (this.construction !== ASN1Construction.constructed) {
|
|
136
101
|
throw new errors.ASN1ConstructionError("EXTERNAL cannot be primitively-constructed.", this);
|
|
137
102
|
}
|
|
138
|
-
return (
|
|
103
|
+
return decodeExternal(this.value);
|
|
139
104
|
}
|
|
140
105
|
set real(value) {
|
|
141
|
-
this.value = (
|
|
106
|
+
this.value = encodeReal(value);
|
|
142
107
|
}
|
|
143
108
|
get real() {
|
|
144
|
-
if (this.construction !==
|
|
109
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
145
110
|
throw new errors.ASN1ConstructionError("REAL cannot be constructed.", this);
|
|
146
111
|
}
|
|
147
|
-
return (
|
|
112
|
+
return decodeReal(this.value);
|
|
148
113
|
}
|
|
149
114
|
set embeddedPDV(value) {
|
|
150
|
-
this.value = (
|
|
151
|
-
this.construction =
|
|
115
|
+
this.value = encodeEmbeddedPDV(value);
|
|
116
|
+
this.construction = ASN1Construction.constructed;
|
|
152
117
|
}
|
|
153
118
|
get embeddedPDV() {
|
|
154
|
-
if (this.construction !==
|
|
119
|
+
if (this.construction !== ASN1Construction.constructed) {
|
|
155
120
|
throw new errors.ASN1ConstructionError("EMBEDDED PDV cannot be primitively-constructed.", this);
|
|
156
121
|
}
|
|
157
|
-
return (
|
|
122
|
+
return decodeEmbeddedPDV(this.value);
|
|
158
123
|
}
|
|
159
124
|
set utf8String(value) {
|
|
160
|
-
this.value = (
|
|
125
|
+
this.value = convertTextToBytes(value);
|
|
161
126
|
}
|
|
162
127
|
get utf8String() {
|
|
163
|
-
if (this.construction !==
|
|
128
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
164
129
|
throw new errors.ASN1ConstructionError("UTF8String cannot be constructed.", this);
|
|
165
130
|
}
|
|
166
|
-
return (
|
|
131
|
+
return convertBytesToText(this.value);
|
|
167
132
|
}
|
|
168
133
|
set sequence(value) {
|
|
169
134
|
this.construct(value);
|
|
170
|
-
this.construction =
|
|
135
|
+
this.construction = ASN1Construction.constructed;
|
|
171
136
|
}
|
|
172
137
|
get sequence() {
|
|
173
|
-
if (this.construction !==
|
|
138
|
+
if (this.construction !== ASN1Construction.constructed) {
|
|
174
139
|
throw new errors.ASN1ConstructionError("SET or SEQUENCE cannot be primitively constructed.", this);
|
|
175
140
|
}
|
|
176
141
|
if (Array.isArray(this._value)) {
|
|
177
142
|
return this._value;
|
|
178
143
|
}
|
|
179
|
-
return (
|
|
144
|
+
return decodeSequence(this.value);
|
|
180
145
|
}
|
|
181
146
|
set set(value) {
|
|
182
|
-
(
|
|
147
|
+
sortCanonically(value);
|
|
183
148
|
this.sequence = value;
|
|
184
149
|
}
|
|
185
150
|
get set() {
|
|
186
151
|
const ret = this.sequence;
|
|
187
|
-
if (!
|
|
152
|
+
if (!isUniquelyTagged(ret)) {
|
|
188
153
|
throw new errors.ASN1ConstructionError("Duplicate tag in SET.", this);
|
|
189
154
|
}
|
|
190
155
|
return ret;
|
|
191
156
|
}
|
|
192
157
|
set sequenceOf(value) {
|
|
193
158
|
this.construct(value);
|
|
194
|
-
this.construction =
|
|
159
|
+
this.construction = ASN1Construction.constructed;
|
|
195
160
|
}
|
|
196
161
|
get sequenceOf() {
|
|
197
|
-
if (this.construction !==
|
|
162
|
+
if (this.construction !== ASN1Construction.constructed) {
|
|
198
163
|
throw new errors.ASN1ConstructionError("SET or SEQUENCE cannot be primitively constructed.", this);
|
|
199
164
|
}
|
|
200
165
|
if (Array.isArray(this._value)) {
|
|
201
166
|
return this._value;
|
|
202
167
|
}
|
|
203
|
-
return (
|
|
168
|
+
return decodeSequence(this.value);
|
|
204
169
|
}
|
|
205
170
|
set setOf(value) {
|
|
206
171
|
this.sequence = value;
|
|
@@ -209,22 +174,22 @@ class DERElement extends x690_1.default {
|
|
|
209
174
|
return this.sequence;
|
|
210
175
|
}
|
|
211
176
|
set numericString(value) {
|
|
212
|
-
this.value = (
|
|
177
|
+
this.value = encodeNumericString(value);
|
|
213
178
|
}
|
|
214
179
|
get numericString() {
|
|
215
|
-
if (this.construction !==
|
|
180
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
216
181
|
throw new errors.ASN1ConstructionError("NumericString cannot be constructed.", this);
|
|
217
182
|
}
|
|
218
|
-
return (
|
|
183
|
+
return decodeNumericString(this.value);
|
|
219
184
|
}
|
|
220
185
|
set printableString(value) {
|
|
221
|
-
this.value = (
|
|
186
|
+
this.value = encodePrintableString(value);
|
|
222
187
|
}
|
|
223
188
|
get printableString() {
|
|
224
|
-
if (this.construction !==
|
|
189
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
225
190
|
throw new errors.ASN1ConstructionError("PrintableString cannot be constructed.", this);
|
|
226
191
|
}
|
|
227
|
-
return (
|
|
192
|
+
return decodePrintableString(this.value);
|
|
228
193
|
}
|
|
229
194
|
set teletexString(value) {
|
|
230
195
|
this.value = new Uint8Array(value);
|
|
@@ -239,65 +204,65 @@ class DERElement extends x690_1.default {
|
|
|
239
204
|
return this.octetString;
|
|
240
205
|
}
|
|
241
206
|
set ia5String(value) {
|
|
242
|
-
this.value = (
|
|
207
|
+
this.value = convertTextToBytes(value);
|
|
243
208
|
}
|
|
244
209
|
get ia5String() {
|
|
245
|
-
if (this.construction !==
|
|
210
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
246
211
|
throw new errors.ASN1ConstructionError("IA5String cannot be constructed.", this);
|
|
247
212
|
}
|
|
248
|
-
return (
|
|
213
|
+
return convertBytesToText(this.value);
|
|
249
214
|
}
|
|
250
215
|
set utcTime(value) {
|
|
251
|
-
this.value = (
|
|
216
|
+
this.value = encodeUTCTime(value);
|
|
252
217
|
}
|
|
253
218
|
get utcTime() {
|
|
254
|
-
if (this.construction !==
|
|
219
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
255
220
|
throw new errors.ASN1ConstructionError("UTCTime cannot be constructed.", this);
|
|
256
221
|
}
|
|
257
|
-
return (
|
|
222
|
+
return decodeUTCTime(this.value);
|
|
258
223
|
}
|
|
259
224
|
set generalizedTime(value) {
|
|
260
|
-
this.value = (
|
|
225
|
+
this.value = encodeGeneralizedTime(value);
|
|
261
226
|
}
|
|
262
227
|
get generalizedTime() {
|
|
263
|
-
if (this.construction !==
|
|
228
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
264
229
|
throw new errors.ASN1ConstructionError("GeneralizedTime cannot be constructed.", this);
|
|
265
230
|
}
|
|
266
|
-
return (
|
|
231
|
+
return decodeGeneralizedTime(this.value);
|
|
267
232
|
}
|
|
268
233
|
set graphicString(value) {
|
|
269
|
-
this.value = (
|
|
234
|
+
this.value = encodeGraphicString(value);
|
|
270
235
|
}
|
|
271
236
|
get graphicString() {
|
|
272
|
-
if (this.construction !==
|
|
237
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
273
238
|
throw new errors.ASN1ConstructionError("GraphicString cannot be constructed.", this);
|
|
274
239
|
}
|
|
275
|
-
return (
|
|
240
|
+
return decodeGraphicString(this.value);
|
|
276
241
|
}
|
|
277
242
|
set visibleString(value) {
|
|
278
|
-
this.value = (
|
|
243
|
+
this.value = encodeVisibleString(value);
|
|
279
244
|
}
|
|
280
245
|
get visibleString() {
|
|
281
|
-
return (
|
|
246
|
+
return decodeVisibleString(this.value);
|
|
282
247
|
}
|
|
283
248
|
set generalString(value) {
|
|
284
|
-
this.value = (
|
|
249
|
+
this.value = encodeGeneralString(value);
|
|
285
250
|
}
|
|
286
251
|
get generalString() {
|
|
287
|
-
if (this.construction !==
|
|
252
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
288
253
|
throw new errors.ASN1ConstructionError("GeneralString cannot be constructed.", this);
|
|
289
254
|
}
|
|
290
|
-
return (
|
|
255
|
+
return decodeGeneralString(this.value);
|
|
291
256
|
}
|
|
292
257
|
set characterString(value) {
|
|
293
|
-
this.value = (
|
|
294
|
-
this.construction =
|
|
258
|
+
this.value = encodeCharacterString(value);
|
|
259
|
+
this.construction = ASN1Construction.constructed;
|
|
295
260
|
}
|
|
296
261
|
get characterString() {
|
|
297
|
-
if (this.construction !==
|
|
262
|
+
if (this.construction !== ASN1Construction.constructed) {
|
|
298
263
|
throw new errors.ASN1ConstructionError("CHARACTER STRING cannot be primitively-constructed.", this);
|
|
299
264
|
}
|
|
300
|
-
return (
|
|
265
|
+
return decodeCharacterString(this.value);
|
|
301
266
|
}
|
|
302
267
|
set universalString(value) {
|
|
303
268
|
const buf = new Uint8Array(value.length << 2);
|
|
@@ -310,7 +275,7 @@ class DERElement extends x690_1.default {
|
|
|
310
275
|
this.value = buf;
|
|
311
276
|
}
|
|
312
277
|
get universalString() {
|
|
313
|
-
if (this.construction !==
|
|
278
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
314
279
|
throw new errors.ASN1ConstructionError("UniversalString cannot be constructed.", this);
|
|
315
280
|
}
|
|
316
281
|
if (this.value.length % 4) {
|
|
@@ -334,7 +299,7 @@ class DERElement extends x690_1.default {
|
|
|
334
299
|
this.value = buf;
|
|
335
300
|
}
|
|
336
301
|
get bmpString() {
|
|
337
|
-
if (this.construction !==
|
|
302
|
+
if (this.construction !== ASN1Construction.primitive) {
|
|
338
303
|
throw new errors.ASN1ConstructionError("BMPString cannot be constructed.", this);
|
|
339
304
|
}
|
|
340
305
|
if (this.value.length % 2)
|
|
@@ -355,10 +320,10 @@ class DERElement extends x690_1.default {
|
|
|
355
320
|
}
|
|
356
321
|
}
|
|
357
322
|
set duration(value) {
|
|
358
|
-
this.value = (
|
|
323
|
+
this.value = encodeDuration(value);
|
|
359
324
|
}
|
|
360
325
|
get duration() {
|
|
361
|
-
return (
|
|
326
|
+
return decodeDuration(this.value);
|
|
362
327
|
}
|
|
363
328
|
encode(value) {
|
|
364
329
|
switch (typeof value) {
|
|
@@ -367,52 +332,52 @@ class DERElement extends x690_1.default {
|
|
|
367
332
|
break;
|
|
368
333
|
}
|
|
369
334
|
case ("boolean"): {
|
|
370
|
-
this.tagNumber =
|
|
335
|
+
this.tagNumber = ASN1UniversalType.boolean;
|
|
371
336
|
this.boolean = value;
|
|
372
337
|
break;
|
|
373
338
|
}
|
|
374
339
|
case ("number"): {
|
|
375
340
|
if (Number.isInteger(value)) {
|
|
376
|
-
this.tagNumber =
|
|
341
|
+
this.tagNumber = ASN1UniversalType.integer;
|
|
377
342
|
this.integer = value;
|
|
378
343
|
}
|
|
379
344
|
else {
|
|
380
|
-
this.tagNumber =
|
|
345
|
+
this.tagNumber = ASN1UniversalType.realNumber;
|
|
381
346
|
this.real = value;
|
|
382
347
|
}
|
|
383
348
|
break;
|
|
384
349
|
}
|
|
385
350
|
case ("bigint"): {
|
|
386
|
-
this.tagNumber =
|
|
351
|
+
this.tagNumber = ASN1UniversalType.integer;
|
|
387
352
|
this.integer = value;
|
|
388
353
|
break;
|
|
389
354
|
}
|
|
390
355
|
case ("string"): {
|
|
391
|
-
this.tagNumber =
|
|
356
|
+
this.tagNumber = ASN1UniversalType.utf8String;
|
|
392
357
|
this.utf8String = value;
|
|
393
358
|
break;
|
|
394
359
|
}
|
|
395
360
|
case ("object"): {
|
|
396
361
|
if (!value) {
|
|
397
|
-
this.tagNumber =
|
|
362
|
+
this.tagNumber = ASN1UniversalType.nill;
|
|
398
363
|
this.value = new Uint8Array(0);
|
|
399
364
|
}
|
|
400
365
|
else if (value instanceof Uint8Array) {
|
|
401
|
-
this.tagNumber =
|
|
366
|
+
this.tagNumber = ASN1UniversalType.octetString;
|
|
402
367
|
this.octetString = value;
|
|
403
368
|
}
|
|
404
369
|
else if (value instanceof Uint8ClampedArray) {
|
|
405
|
-
this.tagNumber =
|
|
370
|
+
this.tagNumber = ASN1UniversalType.bitString;
|
|
406
371
|
this.bitString = value;
|
|
407
372
|
}
|
|
408
|
-
else if (value instanceof
|
|
409
|
-
this.construction =
|
|
373
|
+
else if (value instanceof ASN1Element) {
|
|
374
|
+
this.construction = ASN1Construction.constructed;
|
|
410
375
|
this.sequence = [value];
|
|
411
376
|
}
|
|
412
377
|
else if (value instanceof Set) {
|
|
413
|
-
this.construction =
|
|
378
|
+
this.construction = ASN1Construction.constructed;
|
|
414
379
|
this.set = Array.from(value).map((v) => {
|
|
415
|
-
if (typeof v === "object" && v instanceof
|
|
380
|
+
if (typeof v === "object" && v instanceof ASN1Element) {
|
|
416
381
|
return v;
|
|
417
382
|
}
|
|
418
383
|
else {
|
|
@@ -422,13 +387,13 @@ class DERElement extends x690_1.default {
|
|
|
422
387
|
}
|
|
423
388
|
});
|
|
424
389
|
}
|
|
425
|
-
else if ((value instanceof
|
|
426
|
-
this.tagNumber =
|
|
390
|
+
else if ((value instanceof ObjectIdentifier) || (value.constructor?.name === "ObjectIdentifier")) {
|
|
391
|
+
this.tagNumber = ASN1UniversalType.objectIdentifier;
|
|
427
392
|
this.objectIdentifier = value;
|
|
428
393
|
}
|
|
429
394
|
else if (Array.isArray(value)) {
|
|
430
|
-
this.construction =
|
|
431
|
-
this.tagNumber =
|
|
395
|
+
this.construction = ASN1Construction.constructed;
|
|
396
|
+
this.tagNumber = ASN1UniversalType.sequence;
|
|
432
397
|
this.sequence = value.map((sub) => {
|
|
433
398
|
const ret = new DERElement();
|
|
434
399
|
ret.encode(sub);
|
|
@@ -449,22 +414,22 @@ class DERElement extends x690_1.default {
|
|
|
449
414
|
}
|
|
450
415
|
}
|
|
451
416
|
static fromSequence(sequence) {
|
|
452
|
-
const ret = new DERElement(
|
|
417
|
+
const ret = new DERElement(ASN1TagClass.universal, ASN1Construction.constructed, ASN1UniversalType.sequence);
|
|
453
418
|
ret.sequence = sequence.filter((element) => Boolean(element));
|
|
454
419
|
return ret;
|
|
455
420
|
}
|
|
456
421
|
static fromSet(set) {
|
|
457
|
-
const ret = new DERElement(
|
|
422
|
+
const ret = new DERElement(ASN1TagClass.universal, ASN1Construction.constructed, ASN1UniversalType.set);
|
|
458
423
|
ret.set = set.filter((element) => Boolean(element));
|
|
459
424
|
return ret;
|
|
460
425
|
}
|
|
461
426
|
static fromSetOf(set) {
|
|
462
|
-
const ret = new DERElement(
|
|
427
|
+
const ret = new DERElement(ASN1TagClass.universal, ASN1Construction.constructed, ASN1UniversalType.set);
|
|
463
428
|
ret.setOf = set.filter((element) => Boolean(element));
|
|
464
429
|
return ret;
|
|
465
430
|
}
|
|
466
431
|
get inner() {
|
|
467
|
-
if (this.construction !==
|
|
432
|
+
if (this.construction !== ASN1Construction.constructed) {
|
|
468
433
|
throw new errors.ASN1ConstructionError("An explicitly-encoded element cannot be encoded using "
|
|
469
434
|
+ "primitive construction.", this);
|
|
470
435
|
}
|
|
@@ -485,12 +450,11 @@ class DERElement extends x690_1.default {
|
|
|
485
450
|
return ret;
|
|
486
451
|
}
|
|
487
452
|
set inner(value) {
|
|
488
|
-
this.construction =
|
|
453
|
+
this.construction = ASN1Construction.constructed;
|
|
489
454
|
this._value = [value];
|
|
490
455
|
}
|
|
491
|
-
constructor(tagClass =
|
|
456
|
+
constructor(tagClass = ASN1TagClass.universal, construction = ASN1Construction.primitive, tagNumber = ASN1UniversalType.endOfContent, value = undefined) {
|
|
492
457
|
super();
|
|
493
|
-
this._value = new Uint8Array(0);
|
|
494
458
|
this.encode(value);
|
|
495
459
|
this.tagClass = tagClass;
|
|
496
460
|
this.construction = construction;
|
|
@@ -503,21 +467,21 @@ class DERElement extends x690_1.default {
|
|
|
503
467
|
let cursor = 0;
|
|
504
468
|
switch (bytes[cursor] & 0b11000000) {
|
|
505
469
|
case (0b00000000):
|
|
506
|
-
this.tagClass =
|
|
470
|
+
this.tagClass = ASN1TagClass.universal;
|
|
507
471
|
break;
|
|
508
472
|
case (0b01000000):
|
|
509
|
-
this.tagClass =
|
|
473
|
+
this.tagClass = ASN1TagClass.application;
|
|
510
474
|
break;
|
|
511
475
|
case (0b10000000):
|
|
512
|
-
this.tagClass =
|
|
476
|
+
this.tagClass = ASN1TagClass.context;
|
|
513
477
|
break;
|
|
514
478
|
case (0b11000000):
|
|
515
|
-
this.tagClass =
|
|
479
|
+
this.tagClass = ASN1TagClass.private;
|
|
516
480
|
break;
|
|
517
|
-
default: this.tagClass =
|
|
481
|
+
default: this.tagClass = ASN1TagClass.universal;
|
|
518
482
|
}
|
|
519
483
|
this.construction = ((bytes[cursor] & 0b00100000)
|
|
520
|
-
?
|
|
484
|
+
? ASN1Construction.constructed : ASN1Construction.primitive);
|
|
521
485
|
this.tagNumber = (bytes[cursor] & 0b00011111);
|
|
522
486
|
cursor++;
|
|
523
487
|
if (this.tagNumber >= 31) {
|
|
@@ -694,4 +658,3 @@ class DERElement extends x690_1.default {
|
|
|
694
658
|
+ value_len);
|
|
695
659
|
}
|
|
696
660
|
}
|
|
697
|
-
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;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import convertBytesToText from "../../../utils/convertBytesToText.mjs";
|
|
2
|
+
import validateDateTime from "../../../validators/validateDateTime.mjs";
|
|
3
|
+
export default function decodeDateTime(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
|
+
const hours = parseInt(str.slice(8, 10), 10);
|
|
9
|
+
const minutes = parseInt(str.slice(10, 12), 10);
|
|
10
|
+
const seconds = parseInt(str.slice(12, 14), 10);
|
|
11
|
+
validateDateTime("DATE-TIME", year, month, day, hours, minutes, seconds);
|
|
12
|
+
return new Date(year, month, day, hours, minutes, seconds);
|
|
13
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { EMBEDDED_PDV } from "../../../macros";
|
|
1
|
+
import { EMBEDDED_PDV } from "../../../macros.mjs";
|
|
2
2
|
export default function decodeEmbeddedPDV(value: Uint8Array): EMBEDDED_PDV;
|