/** * <pre> * PKIHeader ::= SEQUENCE { * pvno INTEGER { cmp1999(1), cmp2000(2) }, * sender GeneralName, * -- identifies the sender * recipient GeneralName, * -- identifies the intended recipient * messageTime [0] GeneralizedTime OPTIONAL, * -- time of production of this message (used when sender * -- believes that the transport will be "suitable"; i.e., * -- that the time will still be meaningful upon receipt) * protectionAlg [1] AlgorithmIdentifier OPTIONAL, * -- algorithm used for calculation of protection bits * senderKID [2] KeyIdentifier OPTIONAL, * recipKID [3] KeyIdentifier OPTIONAL, * -- to identify specific keys used for protection * transactionID [4] OCTET STRING OPTIONAL, * -- identifies the transaction; i.e., this will be the same in * -- corresponding request, response, certConf, and PKIConf * -- messages * senderNonce [5] OCTET STRING OPTIONAL, * recipNonce [6] OCTET STRING OPTIONAL, * -- nonces used to provide replay protection, senderNonce * -- is inserted by the creator of this message; recipNonce * -- is a nonce previously inserted in a related message by * -- the intended recipient of this message * freeText [7] PKIFreeText OPTIONAL, * -- this may be used to indicate context-specific instructions * -- (this field is intended for human consumption) * generalInfo [8] SEQUENCE SIZE (1..MAX) OF * InfoTypeAndValue OPTIONAL * -- this may be used to convey context-specific information * -- (this field not primarily intended for human consumption) * } * </pre> * @return a basic ASN.1 object representation. */ public virtual PkiHeader Build() { Asn1EncodableVector v = new Asn1EncodableVector(pvno, sender, recipient); AddOptional(v, 0, messageTime); AddOptional(v, 1, protectionAlg); AddOptional(v, 2, senderKID); AddOptional(v, 3, recipKID); AddOptional(v, 4, transactionID); AddOptional(v, 5, senderNonce); AddOptional(v, 6, recipNonce); AddOptional(v, 7, freeText); AddOptional(v, 8, generalInfo); messageTime = null; protectionAlg = null; senderKID = null; recipKID = null; transactionID = null; senderNonce = null; recipNonce = null; freeText = null; generalInfo = null; return(PkiHeader.GetInstance(new DerSequence(v))); }
public virtual PkiHeader Build() { Asn1EncodableVector v = new Asn1EncodableVector(new Asn1Encodable[] { this.pvno, this.sender, this.recipient }); this.AddOptional(v, 0, this.messageTime); this.AddOptional(v, 1, this.protectionAlg); this.AddOptional(v, 2, this.senderKID); this.AddOptional(v, 3, this.recipKID); this.AddOptional(v, 4, this.transactionID); this.AddOptional(v, 5, this.senderNonce); this.AddOptional(v, 6, this.recipNonce); this.AddOptional(v, 7, this.freeText); this.AddOptional(v, 8, this.generalInfo); this.messageTime = null; this.protectionAlg = null; this.senderKID = null; this.recipKID = null; this.transactionID = null; this.senderNonce = null; this.recipNonce = null; this.freeText = null; this.generalInfo = null; return(PkiHeader.GetInstance(new DerSequence(v))); }
private PkiMessage(Asn1Sequence seq) { this.header = PkiHeader.GetInstance(seq[0]); this.body = PkiBody.GetInstance(seq[1]); for (int i = 2; i < seq.Count; i++) { Asn1TaggedObject asn1TaggedObject = (Asn1TaggedObject)seq[i].ToAsn1Object(); if (asn1TaggedObject.TagNo == 0) { this.protection = DerBitString.GetInstance(asn1TaggedObject, true); } else { this.extraCerts = Asn1Sequence.GetInstance(asn1TaggedObject, true); } } }
private PkiMessage(Asn1Sequence seq) { header = PkiHeader.GetInstance(seq[0]); body = PkiBody.GetInstance(seq[1]); for (int pos = 2; pos < seq.Count; ++pos) { Asn1TaggedObject tObj = (Asn1TaggedObject)seq[pos].ToAsn1Object(); if (tObj.TagNo == 0) { protection = DerBitString.GetInstance(tObj, true); } else { extraCerts = Asn1Sequence.GetInstance(tObj, true); } } }
private ProtectedPart(Asn1Sequence seq) { header = PkiHeader.GetInstance(seq[0]); body = PkiBody.GetInstance(seq[1]); }