| package org.bouncycastle.cms; |
| |
| import java.io.IOException; |
| |
| import org.bouncycastle.asn1.cms.KEKIdentifier; |
| import org.bouncycastle.asn1.cms.KEKRecipientInfo; |
| import org.bouncycastle.asn1.x509.AlgorithmIdentifier; |
| |
| /** |
| * the RecipientInfo class for a recipient who has been sent a message |
| * encrypted using a secret key known to the other side. |
| */ |
| public class KEKRecipientInformation |
| extends RecipientInformation |
| { |
| private KEKRecipientInfo info; |
| |
| KEKRecipientInformation( |
| KEKRecipientInfo info, |
| AlgorithmIdentifier messageAlgorithm, |
| CMSSecureReadable secureReadable, |
| AuthAttributesProvider additionalData) |
| { |
| super(info.getKeyEncryptionAlgorithm(), messageAlgorithm, secureReadable, additionalData); |
| |
| this.info = info; |
| |
| KEKIdentifier kekId = info.getKekid(); |
| |
| this.rid = new KEKRecipientId(kekId.getKeyIdentifier().getOctets()); |
| } |
| |
| protected RecipientOperator getRecipientOperator(Recipient recipient) |
| throws CMSException, IOException |
| { |
| return ((KEKRecipient)recipient).getRecipientOperator(keyEncAlg, messageAlgorithm, info.getEncryptedKey().getOctets()); |
| } |
| } |