Class ASN1


  • public class ASN1
    extends Object
    A class that contains ASN.1 constants and utilities.
    Author:
    Farah Juma
    • Field Detail

      • BOOLEAN_TYPE

        public static final int BOOLEAN_TYPE
        The universal boolean type tag.
        See Also:
        Constant Field Values
      • INTEGER_TYPE

        public static final int INTEGER_TYPE
        The universal integer type tag.
        See Also:
        Constant Field Values
      • BIT_STRING_TYPE

        public static final int BIT_STRING_TYPE
        The universal bit string type tag.
        See Also:
        Constant Field Values
      • OCTET_STRING_TYPE

        public static final int OCTET_STRING_TYPE
        The universal octet string type tag.
        See Also:
        Constant Field Values
      • NULL_TYPE

        public static final int NULL_TYPE
        The universal null type tag.
        See Also:
        Constant Field Values
      • OBJECT_IDENTIFIER_TYPE

        public static final int OBJECT_IDENTIFIER_TYPE
        The universal object identifier type tag.
        See Also:
        Constant Field Values
      • UTF8_STRING_TYPE

        public static final int UTF8_STRING_TYPE
        The universal UTF-8 string type tag.
        See Also:
        Constant Field Values
      • PRINTABLE_STRING_TYPE

        public static final int PRINTABLE_STRING_TYPE
        The universal printable string type tag.
        See Also:
        Constant Field Values
      • IA5_STRING_TYPE

        public static final int IA5_STRING_TYPE
        The universal IA5 string type tag.
        See Also:
        Constant Field Values
      • GENERALIZED_TIME_TYPE

        public static final int GENERALIZED_TIME_TYPE
        A type for representing timestamps.
        See Also:
        Constant Field Values
      • UNIVERSAL_STRING_TYPE

        public static final int UNIVERSAL_STRING_TYPE
        The universal (UTF-32 big-endian) string type tag.
        See Also:
        Constant Field Values
      • BMP_STRING_TYPE

        public static final int BMP_STRING_TYPE
        The universal BMP (UTF-16 big-endian) string type tag.
        See Also:
        Constant Field Values
      • SEQUENCE_TYPE

        public static final int SEQUENCE_TYPE
        The universal sequence type tag.
        See Also:
        Constant Field Values
      • CONSTRUCTED_MASK

        public static final int CONSTRUCTED_MASK
        Mask used to determine if a type tag is constructed.
        See Also:
        Constant Field Values
      • APPLICATION_SPECIFIC_MASK

        public static final int APPLICATION_SPECIFIC_MASK
        Mask used to determine if a type tag is application-specific.
        See Also:
        Constant Field Values
      • CONTEXT_SPECIFIC_MASK

        public static final int CONTEXT_SPECIFIC_MASK
        Mask used to determine if a type tag is context-specific.
        See Also:
        Constant Field Values
      • CLASS_MASK

        public static final int CLASS_MASK
        Mask used to obtain the class bits from a type tag.
        See Also:
        Constant Field Values
      • TAG_NUMBER_MASK

        public static final int TAG_NUMBER_MASK
        Mask used to obtain the tag number bits from a type tag.
        See Also:
        Constant Field Values
      • OID_SHA1_WITH_DSA

        public static final String OID_SHA1_WITH_DSA
        Object identifier for the SHA1 with DSA signature algorithm.
        See Also:
        Constant Field Values
      • OID_SHA256_WITH_DSA

        public static final String OID_SHA256_WITH_DSA
        Object identifier for the SHA256 with DSA signature algorithm.
        Since:
        1.2.0
        See Also:
        Constant Field Values
      • OID_SHA1_WITH_ECDSA

        public static final String OID_SHA1_WITH_ECDSA
        Object identifier for the SHA1 with ECDSA signature algorithm.
        See Also:
        Constant Field Values
      • OID_SHA224_WITH_ECDSA

        public static final String OID_SHA224_WITH_ECDSA
        Object identifier for the SHA-225 with ECDSA signature algorithm.
        See Also:
        Constant Field Values
      • OID_SHA256_WITH_ECDSA

        public static final String OID_SHA256_WITH_ECDSA
        Object identifier for the SHA-256 with ECDSA signature algorithm.
        See Also:
        Constant Field Values
      • OID_SHA384_WITH_ECDSA

        public static final String OID_SHA384_WITH_ECDSA
        Object identifier for the SHA-384 with ECDSA signature algorithm.
        See Also:
        Constant Field Values
      • OID_SHA512_WITH_ECDSA

        public static final String OID_SHA512_WITH_ECDSA
        Object identifier for the SHA-512 with ECDSA signature algorithm.
        See Also:
        Constant Field Values
      • OID_MD2_WITH_RSA

        public static final String OID_MD2_WITH_RSA
        Object identifier for the MD2 with RSA signature algorithm.
        See Also:
        Constant Field Values
      • OID_MD4_WITH_RSA

        public static final String OID_MD4_WITH_RSA
        Object identifier for the MD4 with RSA signature algorithm.
        See Also:
        Constant Field Values
      • OID_MD5_WITH_RSA

        public static final String OID_MD5_WITH_RSA
        Object identifier for the MD5 with RSA signature algorithm.
        See Also:
        Constant Field Values
      • OID_SHA1_WITH_RSA

        public static final String OID_SHA1_WITH_RSA
        Object identifier for the SHA1 with RSA signature algorithm.
        See Also:
        Constant Field Values
      • OID_SHA256_WITH_RSA

        public static final String OID_SHA256_WITH_RSA
        Object identifier for the SHA-256 with RSA signature algorithm.
        See Also:
        Constant Field Values
      • OID_SHA384_WITH_RSA

        public static final String OID_SHA384_WITH_RSA
        Object identifier for the SHA-384 with RSA signature algorithm.
        See Also:
        Constant Field Values
      • OID_SHA512_WITH_RSA

        public static final String OID_SHA512_WITH_RSA
        Object identifier for the SHA-512 with RSA signature algorithm.
        See Also:
        Constant Field Values
      • OID_EXTENSION_REQUEST

        public static final String OID_EXTENSION_REQUEST
        Object identifier for the PKCS #9 extensionRequest attribute.
        Since:
        1.2.0
        See Also:
        Constant Field Values
    • Constructor Detail

      • ASN1

        public ASN1()
    • Method Detail

      • formatAsn1

        public static String formatAsn1​(ASN1Decoder decoder)
        Format an AS.1 string from the given decoder as a string.
        Parameters:
        decoder - the ASN.1 decoder
        Returns:
        the formatted string
      • formatAsn1

        public static void formatAsn1​(ASN1Decoder decoder,
                                      StringBuilder builder)
        Format an ASN.1 string from the given decoder as a string.
        Parameters:
        decoder - the ASN.1 decoder
        builder - the target string builder
      • keyAlgorithmFromOid

        public static String keyAlgorithmFromOid​(String oid)
        Resolves a key algorithm based on a given oid.
        Parameters:
        oid - an ASN.1 object identifier or OID (not null)
        Returns:
        the string representing the key algorithm or null if no algorithm could be resolved for the given OID
      • oidFromSignatureAlgorithm

        public static String oidFromSignatureAlgorithm​(String algorithmName)
      • signatureAlgorithmFromOid

        public static String signatureAlgorithmFromOid​(String oid)