Class X509ExtensionUtils

  • All Implemented Interfaces:

    
    public class X509ExtensionUtils
    
                        

    General utility class for creating calculated extensions using the standard methods.

    Note: This class is not thread safe!

    • Constructor Detail

      • X509ExtensionUtils

        X509ExtensionUtils(DigestCalculator calculator)
        Base constructor - for conformance to RFC 5280 use a calculator based on SHA-1.
        Parameters:
        calculator - a calculator for calculating subject key ids.
    • Method Detail

      • createAuthorityKeyIdentifier

         AuthorityKeyIdentifier createAuthorityKeyIdentifier(SubjectPublicKeyInfo publicKeyInfo, GeneralNames generalNames, BigInteger serial)

        Create an AuthorityKeyIdentifier from the passed in arguments.

        Parameters:
        publicKeyInfo - the SubjectPublicKeyInfo to base the key identifier on.
        generalNames - the general names to associate with the issuer cert's issuer.
        serial - the serial number of the issuer cert.
        Returns:

        an AuthorityKeyIdentifier.

      • createSubjectKeyIdentifier

         SubjectKeyIdentifier createSubjectKeyIdentifier(SubjectPublicKeyInfo publicKeyInfo)

        Return a RFC 5280 type 1 key identifier. As in:

        (1) The keyIdentifier is composed of the 160-bit SHA-1 hash of the
        value of the BIT STRING subjectPublicKey (excluding the tag,
        length, and number of unused bits).
        
        Parameters:
        publicKeyInfo - the key info object containing the subjectPublicKey field.
        Returns:

        the key identifier.

      • createTruncatedSubjectKeyIdentifier

         SubjectKeyIdentifier createTruncatedSubjectKeyIdentifier(SubjectPublicKeyInfo publicKeyInfo)

        Return a RFC 5280 type 2 key identifier. As in:

        (2) The keyIdentifier is composed of a four bit type field with
        the value 0100 followed by the least significant 60 bits of the
        SHA-1 hash of the value of the BIT STRING subjectPublicKey.
        
        Parameters:
        publicKeyInfo - the key info object containing the subjectPublicKey field.
        Returns:

        the key identifier.