Class CompositePrivateKey

  • All Implemented Interfaces:
    java.io.Serializable, java.security.Key, java.security.PrivateKey, javax.security.auth.Destroyable

    public class CompositePrivateKey
    extends java.lang.Object
    implements java.security.PrivateKey
    A composite private key class.
    See Also:
    Serialized Form
    • Constructor Detail

      • CompositePrivateKey

        public CompositePrivateKey​(java.security.PrivateKey... keys)
        Create a composite private key from an array of PublicKeys. This constructor is currently used only for legacy composites implementation.
        Parameters:
        keys - The component private keys.
      • CompositePrivateKey

        public CompositePrivateKey​(ASN1ObjectIdentifier algorithm,
                                   java.security.PrivateKey... keys)
      • CompositePrivateKey

        public CompositePrivateKey​(AlgorithmIdentifier algorithmIdentifier,
                                   java.security.PrivateKey... keys)
        Create a composite private key which corresponds to a composite signature algorithm in algorithmIdentifier. The component private keys are not checked if they satisfy the composite definition at this point, however, they will fail when they are fed into component algorithms which are defined by the algorithmIdentifier.
        Parameters:
        algorithmIdentifier -
        keys -
      • CompositePrivateKey

        public CompositePrivateKey​(PrivateKeyInfo keyInfo)
        Create a composite private key from a PrivateKeyInfo.
        Parameters:
        keyInfo - PrivateKeyInfo object containing a composite private key.
    • Method Detail

      • getPrivateKeys

        public java.util.List<java.security.PrivateKey> getPrivateKeys()
        Return a list of the component private keys making up this composite.
        Returns:
        an immutable list of private keys.
      • getProviders

        public java.util.List<java.security.Provider> getProviders()
        Return a list of the providers supporting the component private keys.
        Returns:
        an immutable list of Provider objects.
      • getAlgorithm

        public java.lang.String getAlgorithm()
        Specified by:
        getAlgorithm in interface java.security.Key
      • getFormat

        public java.lang.String getFormat()
        Specified by:
        getFormat in interface java.security.Key
      • getEncoded

        public byte[] getEncoded()
        Returns the encoding of the composite private key. It is compliant with Composite ML-DSA for use in X.509 Public Key Infrastructure as each component is encoded as a PrivateKeyInfo (older name for OneAsymmetricKey).
        Specified by:
        getEncoded in interface java.security.Key
        Returns:
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object