public KeyTransRecipientInfo(
     Asn1Sequence seq)
 {
     this.version = (DerInteger) seq[0];
     this.rid = RecipientIdentifier.GetInstance(seq[1]);
     this.keyEncryptionAlgorithm = AlgorithmIdentifier.GetInstance(seq[2]);
     this.encryptedKey = (Asn1OctetString) seq[3];
 }
        public KeyTransRecipientInfo(
            RecipientIdentifier rid,
            AlgorithmIdentifier keyEncryptionAlgorithm,
            Asn1OctetString     encryptedKey)
        {
            if (rid.ToAsn1Object() is Asn1TaggedObject)
            {
                this.version = new DerInteger(2);
            }
            else
            {
                this.version = new DerInteger(0);
            }

            this.rid = rid;
            this.keyEncryptionAlgorithm = keyEncryptionAlgorithm;
            this.encryptedKey = encryptedKey;
        }