public KeyAgreeRecipientInfo(
     OriginatorIdentifierOrKey   originator,
     Asn1OctetString             ukm,
     AlgorithmIdentifier         keyEncryptionAlgorithm,
     Asn1Sequence                recipientEncryptedKeys)
 {
     this.version = new DerInteger(3);
     this.originator = originator;
     this.ukm = ukm;
     this.keyEncryptionAlgorithm = keyEncryptionAlgorithm;
     this.recipientEncryptedKeys = recipientEncryptedKeys;
 }
        public KeyAgreeRecipientInfo(
            Asn1Sequence seq)
        {
            int index = 0;

            version = (DerInteger) seq[index++];
            originator = OriginatorIdentifierOrKey.GetInstance(
                (Asn1TaggedObject) seq[index++], true);

            if (seq[index] is Asn1TaggedObject)
            {
                ukm = Asn1OctetString.GetInstance(
                    (Asn1TaggedObject) seq[index++], true);
            }

            keyEncryptionAlgorithm = AlgorithmIdentifier.GetInstance(
                seq[index++]);

            recipientEncryptedKeys = (Asn1Sequence) seq[index++];
        }