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(
            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++];
        }
		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++];
        }