001package org.apache.commons.ssl.org.bouncycastle.asn1.smime; 002 003import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1OctetString; 004import org.apache.commons.ssl.org.bouncycastle.asn1.DERSet; 005import org.apache.commons.ssl.org.bouncycastle.asn1.DERTaggedObject; 006import org.apache.commons.ssl.org.bouncycastle.asn1.cms.Attribute; 007import org.apache.commons.ssl.org.bouncycastle.asn1.cms.IssuerAndSerialNumber; 008import org.apache.commons.ssl.org.bouncycastle.asn1.cms.RecipientKeyIdentifier; 009 010/** 011 * The SMIMEEncryptionKeyPreference object. 012 * <pre> 013 * SMIMEEncryptionKeyPreference ::= CHOICE { 014 * issuerAndSerialNumber [0] IssuerAndSerialNumber, 015 * receipentKeyId [1] RecipientKeyIdentifier, 016 * subjectAltKeyIdentifier [2] SubjectKeyIdentifier 017 * } 018 * </pre> 019 */ 020public class SMIMEEncryptionKeyPreferenceAttribute 021 extends Attribute 022{ 023 public SMIMEEncryptionKeyPreferenceAttribute( 024 IssuerAndSerialNumber issAndSer) 025 { 026 super(SMIMEAttributes.encrypKeyPref, 027 new DERSet(new DERTaggedObject(false, 0, issAndSer))); 028 } 029 030 public SMIMEEncryptionKeyPreferenceAttribute( 031 RecipientKeyIdentifier rKeyId) 032 { 033 034 super(SMIMEAttributes.encrypKeyPref, 035 new DERSet(new DERTaggedObject(false, 1, rKeyId))); 036 } 037 038 /** 039 * @param sKeyId the subjectKeyIdentifier value (normally the X.509 one) 040 */ 041 public SMIMEEncryptionKeyPreferenceAttribute( 042 ASN1OctetString sKeyId) 043 { 044 045 super(SMIMEAttributes.encrypKeyPref, 046 new DERSet(new DERTaggedObject(false, 2, sKeyId))); 047 } 048}