1 package org.bouncycastle.asn1.smime; 2 3 import org.bouncycastle.asn1.ASN1OctetString; 4 import org.bouncycastle.asn1.DERSet; 5 import org.bouncycastle.asn1.DERTaggedObject; 6 import org.bouncycastle.asn1.cms.Attribute; 7 import org.bouncycastle.asn1.cms.IssuerAndSerialNumber; 8 import org.bouncycastle.asn1.cms.RecipientKeyIdentifier; 9 10 /** 11 * The SMIMEEncryptionKeyPreference object. 12 * <pre> 13 * SMIMEEncryptionKeyPreference ::= CHOICE { 14 * issuerAndSerialNumber [0] IssuerAndSerialNumber, 15 * receipentKeyId [1] RecipientKeyIdentifier, 16 * subjectAltKeyIdentifier [2] SubjectKeyIdentifier 17 * } 18 * </pre> 19 */ 20 public class SMIMEEncryptionKeyPreferenceAttribute 21 extends Attribute 22 { SMIMEEncryptionKeyPreferenceAttribute( IssuerAndSerialNumber issAndSer)23 public SMIMEEncryptionKeyPreferenceAttribute( 24 IssuerAndSerialNumber issAndSer) 25 { 26 super(SMIMEAttributes.encrypKeyPref, 27 new DERSet(new DERTaggedObject(false, 0, issAndSer))); 28 } 29 SMIMEEncryptionKeyPreferenceAttribute( RecipientKeyIdentifier rKeyId)30 public SMIMEEncryptionKeyPreferenceAttribute( 31 RecipientKeyIdentifier rKeyId) 32 { 33 34 super(SMIMEAttributes.encrypKeyPref, 35 new DERSet(new DERTaggedObject(false, 1, rKeyId))); 36 } 37 38 /** 39 * @param sKeyId the subjectKeyIdentifier value (normally the X.509 one) 40 */ SMIMEEncryptionKeyPreferenceAttribute( ASN1OctetString sKeyId)41 public SMIMEEncryptionKeyPreferenceAttribute( 42 ASN1OctetString sKeyId) 43 { 44 45 super(SMIMEAttributes.encrypKeyPref, 46 new DERSet(new DERTaggedObject(false, 2, sKeyId))); 47 } 48 } 49