Class CompositePrivateKey

java.lang.Object
org.bouncycastle.jcajce.CompositePrivateKey
All Implemented Interfaces:
Serializable, AsymmetricKey, DEREncodablePREVIEW, Key, PrivateKey, Destroyable

public class CompositePrivateKey extends Object implements PrivateKey
A composite private key class for Composite ML-KEM.
See Also:
  • Constructor Details

    • CompositePrivateKey

      public CompositePrivateKey(PrivateKey... keys)
      Create a composite private key from an array of PrivateKeys.
      Parameters:
      keys - The component private keys.
    • CompositePrivateKey

      public CompositePrivateKey(ASN1ObjectIdentifier algorithm, PrivateKey... keys)
    • CompositePrivateKey

      public CompositePrivateKey(AlgorithmIdentifier algorithmIdentifier, PrivateKey... keys)
      Create a composite private key which corresponds to a composite KEM algorithm in 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 Details

    • builder

      public static CompositePrivateKey.Builder builder(ASN1ObjectIdentifier compAlgOid)
    • builder

      public static CompositePrivateKey.Builder builder(String algorithmName)
    • getPrivateKeys

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

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

      public String getAlgorithm()
      Specified by:
      getAlgorithm in interface Key
    • getAlgorithmIdentifier

      public AlgorithmIdentifier getAlgorithmIdentifier()
    • getFormat

      public String getFormat()
      Specified by:
      getFormat in interface Key
    • getEncoded

      public byte[] getEncoded()
      Returns the encoding of the composite private key as per Section 4.2. Format: ML-KEM seed (64 bytes) || Traditional private key encoding
      Specified by:
      getEncoded in interface Key
    • hashCode

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

      public boolean equals(Object o)
      Overrides:
      equals in class Object