Package org.bouncycastle.cms.jcajce
Class JceKeyAgreeRecipient
- java.lang.Object
-
- org.bouncycastle.cms.jcajce.JceKeyAgreeRecipient
-
- All Implemented Interfaces:
KeyAgreeRecipient
,Recipient
- Direct Known Subclasses:
JceKeyAgreeAuthenticatedRecipient
,JceKeyAgreeEnvelopedRecipient
public abstract class JceKeyAgreeRecipient extends java.lang.Object implements KeyAgreeRecipient
-
-
Field Summary
Fields Modifier and Type Field Description protected EnvelopedDataHelper
contentHelper
protected EnvelopedDataHelper
helper
-
Constructor Summary
Constructors Constructor Description JceKeyAgreeRecipient(java.security.PrivateKey recipientKey)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.security.Key
extractSecretKey(org.bouncycastle.asn1.x509.AlgorithmIdentifier keyEncryptionAlgorithm, org.bouncycastle.asn1.x509.AlgorithmIdentifier contentEncryptionAlgorithm, org.bouncycastle.asn1.x509.SubjectPublicKeyInfo senderKey, org.bouncycastle.asn1.ASN1OctetString userKeyingMaterial, byte[] encryptedContentEncryptionKey)
org.bouncycastle.asn1.x509.AlgorithmIdentifier
getPrivateKeyAlgorithmIdentifier()
JceKeyAgreeRecipient
setContentProvider(java.lang.String providerName)
Set the provider to use for content processing.JceKeyAgreeRecipient
setContentProvider(java.security.Provider provider)
Set the provider to use for content processing.JceKeyAgreeRecipient
setPrivateKeyAlgorithmIdentifier(org.bouncycastle.asn1.x509.AlgorithmIdentifier privKeyAlgID)
Set the algorithm identifier for the private key.JceKeyAgreeRecipient
setProvider(java.lang.String providerName)
Set the provider to use for key recovery and content processing.JceKeyAgreeRecipient
setProvider(java.security.Provider provider)
Set the provider to use for key recovery and content processing.protected java.security.Key
unwrapSessionKey(org.bouncycastle.asn1.ASN1ObjectIdentifier wrapAlg, javax.crypto.SecretKey agreedKey, org.bouncycastle.asn1.ASN1ObjectIdentifier contentEncryptionAlgorithm, byte[] encryptedContentEncryptionKey)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.bouncycastle.cms.KeyAgreeRecipient
getRecipientOperator
-
-
-
-
Field Detail
-
helper
protected EnvelopedDataHelper helper
-
contentHelper
protected EnvelopedDataHelper contentHelper
-
-
Method Detail
-
setProvider
public JceKeyAgreeRecipient setProvider(java.security.Provider provider)
Set the provider to use for key recovery and content processing.- Parameters:
provider
- provider to use.- Returns:
- this recipient.
-
setProvider
public JceKeyAgreeRecipient setProvider(java.lang.String providerName)
Set the provider to use for key recovery and content processing.- Parameters:
providerName
- the name of the provider to use.- Returns:
- this recipient.
-
setContentProvider
public JceKeyAgreeRecipient setContentProvider(java.security.Provider provider)
Set the provider to use for content processing. If providerName is null a "no provider" search will be used to satisfy getInstance calls.- Parameters:
provider
- the provider to use.- Returns:
- this recipient.
-
setContentProvider
public JceKeyAgreeRecipient setContentProvider(java.lang.String providerName)
Set the provider to use for content processing. If providerName is null a "no provider" search will be used to satisfy getInstance calls.- Parameters:
providerName
- the name of the provider to use.- Returns:
- this recipient.
-
setPrivateKeyAlgorithmIdentifier
public JceKeyAgreeRecipient setPrivateKeyAlgorithmIdentifier(org.bouncycastle.asn1.x509.AlgorithmIdentifier privKeyAlgID)
Set the algorithm identifier for the private key. You'll want to use this if you are dealing with a HSM and it is not possible to get the encoding of the private key.- Parameters:
privKeyAlgID
- the name of the provider to use.- Returns:
- this recipient.
-
unwrapSessionKey
protected java.security.Key unwrapSessionKey(org.bouncycastle.asn1.ASN1ObjectIdentifier wrapAlg, javax.crypto.SecretKey agreedKey, org.bouncycastle.asn1.ASN1ObjectIdentifier contentEncryptionAlgorithm, byte[] encryptedContentEncryptionKey) throws CMSException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException
- Throws:
CMSException
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
-
extractSecretKey
protected java.security.Key extractSecretKey(org.bouncycastle.asn1.x509.AlgorithmIdentifier keyEncryptionAlgorithm, org.bouncycastle.asn1.x509.AlgorithmIdentifier contentEncryptionAlgorithm, org.bouncycastle.asn1.x509.SubjectPublicKeyInfo senderKey, org.bouncycastle.asn1.ASN1OctetString userKeyingMaterial, byte[] encryptedContentEncryptionKey) throws CMSException
- Throws:
CMSException
-
getPrivateKeyAlgorithmIdentifier
public org.bouncycastle.asn1.x509.AlgorithmIdentifier getPrivateKeyAlgorithmIdentifier()
- Specified by:
getPrivateKeyAlgorithmIdentifier
in interfaceKeyAgreeRecipient
-
-