/**
         * return an KeyAgreeRecipientIdentifier object from the given object.
         *
         * @param obj the object we want converted.
         * @exception ArgumentException if the object cannot be converted.
         */
        public static KeyAgreeRecipientIdentifier GetInstance(
            object obj)
        {
            if (obj == null || obj is KeyAgreeRecipientIdentifier)
            {
                return((KeyAgreeRecipientIdentifier)obj);
            }

            if (obj is Asn1Sequence)
            {
                return(new KeyAgreeRecipientIdentifier(IssuerAndSerialNumber.GetInstance(obj)));
            }

            if (obj is Asn1TaggedObject && ((Asn1TaggedObject)obj).TagNo == 0)
            {
                return(new KeyAgreeRecipientIdentifier(RecipientKeyIdentifier.GetInstance(
                                                           (Asn1TaggedObject)obj, false)));
            }

            throw new ArgumentException("Invalid KeyAgreeRecipientIdentifier: " + obj.GetType().FullName, "obj");
        }
 public SmimeEncryptionKeyPreferenceAttribute(
     RecipientKeyIdentifier rKeyID)
     : base(SmimeAttributes.EncrypKeyPref,
         new DerSet(new DerTaggedObject(false, 1, rKeyID)))
 {
 }
		public KeyAgreeRecipientIdentifier(
			RecipientKeyIdentifier rKeyID)
		{
			this.rKeyID = rKeyID;
		}
 public KeyAgreeRecipientIdentifier(
     RecipientKeyIdentifier rKeyID)
 {
     this.rKeyID = rKeyID;
 }