Package org.bouncycastle.jcajce
Class CompositePublicKey
- java.lang.Object
-
- org.bouncycastle.jcajce.CompositePublicKey
-
- All Implemented Interfaces:
java.io.Serializable
,java.security.Key
,java.security.PublicKey
public class CompositePublicKey extends java.lang.Object implements java.security.PublicKey
A composite key class.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description CompositePublicKey(java.security.PublicKey... keys)
Create a composite public key from an array of PublicKeys.CompositePublicKey(ASN1ObjectIdentifier algorithmIdentifier, java.security.PublicKey... keys)
Create a composite public key which corresponds to a composite signature algorithm in algorithmIdentifier.CompositePublicKey(SubjectPublicKeyInfo keyInfo)
Create a composite public key from a SubjectPublicKeyInfo.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object o)
java.lang.String
getAlgorithm()
ASN1ObjectIdentifier
getAlgorithmIdentifier()
byte[]
getEncoded()
Returns the composite public key encoded as a SubjectPublicKeyInfo.java.lang.String
getFormat()
java.util.List<java.security.PublicKey>
getPublicKeys()
Return a list of the component public keys making up this composite.int
hashCode()
-
-
-
Constructor Detail
-
CompositePublicKey
public CompositePublicKey(java.security.PublicKey... keys)
Create a composite public key from an array of PublicKeys. This constructor is currently used only for legacy composites implementation.- Parameters:
keys
- The component public keys.
-
CompositePublicKey
public CompositePublicKey(ASN1ObjectIdentifier algorithmIdentifier, java.security.PublicKey... keys)
Create a composite public key which corresponds to a composite signature algorithm in algorithmIdentifier. The component public 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
-
-
CompositePublicKey
public CompositePublicKey(SubjectPublicKeyInfo keyInfo)
Create a composite public key from a SubjectPublicKeyInfo.- Parameters:
keyInfo
- SubjectPublicKeyInfo object containing a composite public key.
-
-
Method Detail
-
getPublicKeys
public java.util.List<java.security.PublicKey> getPublicKeys()
Return a list of the component public keys making up this composite.- Returns:
- an immutable list of public keys.
-
getAlgorithm
public java.lang.String getAlgorithm()
- Specified by:
getAlgorithm
in interfacejava.security.Key
-
getAlgorithmIdentifier
public ASN1ObjectIdentifier getAlgorithmIdentifier()
-
getFormat
public java.lang.String getFormat()
- Specified by:
getFormat
in interfacejava.security.Key
-
getEncoded
public byte[] getEncoded()
Returns the composite public key encoded as a SubjectPublicKeyInfo. If the composite public key is legacy (MiscObjectIdentifiers.id_composite_key), it each component public key is wrapped in its own SubjectPublicKeyInfo. Other composite public keys are encoded according to https://www.ietf.org/archive/id/draft-ounsworth-pq-composite-sigs-13.html#name-compositesignaturepublickey where each component public key is a BIT STRING which contains the result of calling getEncoded() for each component public key.- Specified by:
getEncoded
in interfacejava.security.Key
- Returns:
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
-