Package org.bouncycastle.jcajce
Class CompositePublicKey
java.lang.Object
org.bouncycastle.jcajce.CompositePublicKey
- All Implemented Interfaces:
Serializable
,Key
,PublicKey
A composite key class.
- See Also:
-
Field Summary
Fields inherited from interface java.security.PublicKey
serialVersionUID
-
Constructor Summary
ConstructorsConstructorDescriptionCompositePublicKey
(PublicKey... keys) Create a composite public key from an array of PublicKeys.CompositePublicKey
(ASN1ObjectIdentifier algorithmIdentifier, 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
Modifier and TypeMethodDescriptionboolean
byte[]
Returns the composite public key encoded as a SubjectPublicKeyInfo.Return a list of the component public keys making up this composite.int
hashCode()
-
Constructor Details
-
CompositePublicKey
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
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
Create a composite public key from a SubjectPublicKeyInfo.- Parameters:
keyInfo
- SubjectPublicKeyInfo object containing a composite public key.
-
-
Method Details
-
getPublicKeys
Return a list of the component public keys making up this composite.- Returns:
- an immutable list of public keys.
-
getAlgorithm
- Specified by:
getAlgorithm
in interfaceKey
-
getAlgorithmIdentifier
-
getFormat
-
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 interfaceKey
- Returns:
-
hashCode
public int hashCode() -
equals
-