public EnvelopedData( OriginatorInfo originatorInfo, ASN1Set recipientInfos, EncryptedContentInfo encryptedContentInfo, ASN1Set unprotectedAttrs) { if (originatorInfo != null || unprotectedAttrs != null) { version = new DERInteger(2); } else { version = new DERInteger(0); IEnumerator e = recipientInfos.getObjects(); while (e.MoveNext()) { RecipientInfo ri = RecipientInfo.getInstance(e.Current); if (!ri.getVersion().Equals(version)) { version = new DERInteger(2); break; } } } this.originatorInfo = originatorInfo; this.recipientInfos = recipientInfos; this.encryptedContentInfo = encryptedContentInfo; this.unprotectedAttrs = unprotectedAttrs; }
public AttributeCertificateInfo( ASN1Sequence seq) { this.version = DERInteger.getInstance(seq.getObjectAt(0)); this.holder = Holder.getInstance(seq.getObjectAt(1)); this.issuer = AttCertIssuer.getInstance(seq.getObjectAt(2)); this.signature = AlgorithmIdentifier.getInstance(seq.getObjectAt(3)); this.serialNumber = DERInteger.getInstance(seq.getObjectAt(4)); this.attrCertValidityPeriod = AttCertValidityPeriod.getInstance(seq.getObjectAt(5)); this.attributes = ASN1Sequence.getInstance(seq.getObjectAt(6)); for (int i = 7; i < seq.size(); i++) { ASN1Encodable obj = (ASN1Encodable)seq.getObjectAt(i); if (obj is DERBitString) { this.issuerUniqueID = DERBitString.getInstance(seq.getObjectAt(i)); } else if (obj is ASN1Sequence || obj is X509Extensions) { this.extensions = X509Extensions.getInstance(seq.getObjectAt(i)); } } }
public PKCS12PBEParams( byte[] salt, int iterations) { this.iv = new DEROctetString(salt); this.iterations = new DERInteger(iterations); }
public RC2CBCParameter( int parameterVersion, byte[] iv) { this.version = new DERInteger(parameterVersion); this.iv = new DEROctetString(iv); }
public IssuerAndSerialNumber( X509Name name, BigInteger certSerialNumber) { this.name = name; this.certSerialNumber = new DERInteger(certSerialNumber); }
public IssuerAndSerialNumber( X509Name name, DERInteger serialNumber) { this.name = name; this.serialNumber = serialNumber; }
public IssuerAndSerialNumber( X509Name name, DERInteger certSerialNumber) { this.name = name; this.certSerialNumber = certSerialNumber; }
public ResponseData( ASN1Sequence seq) { int index = 0; if (seq.getObjectAt(0) is ASN1TaggedObject) { ASN1TaggedObject o = (ASN1TaggedObject)seq.getObjectAt(0); if (o.getTagNo() == 0) { this.version = DERInteger.getInstance( (ASN1TaggedObject)seq.getObjectAt(0), true); index++; } else { this.version = null; } } else { this.version = null; } this.responderID = ResponderID.getInstance(seq.getObjectAt(index++)); this.producedAt = (DERGeneralizedTime)seq.getObjectAt(index++); this.responses = (ASN1Sequence)seq.getObjectAt(index++); if (seq.size() > index) { this.responseExtensions = X509Extensions.getInstance( (ASN1TaggedObject)seq.getObjectAt(index), true); } }
public PBEParameter( byte[] salt, int iterationCount) { this.octStr = new DEROctetString(salt); this.iterationCount = new DERInteger(iterationCount); }
public ElGamalParameter( BigInteger p, BigInteger g) { this.p = new DERInteger(p); this.g = new DERInteger(g); }
public CrlID( ASN1Sequence seq) { IEnumerator e = seq.getObjects(); while (e.MoveNext()) { ASN1TaggedObject o = (ASN1TaggedObject)e.Current; switch ((int)o.getTagNo()) { case 0: crlUrl = DERIA5String.getInstance(o, true); break; case 1: crlNum = DERInteger.getInstance(o, true); break; case 2: crlTime = DERGeneralizedTime.getInstance(o, true); break; default: throw new ArgumentException( "unknown tag number: " + o.getTagNo()); } } }
/// <summary> /// Generate a CertificateID. /// </summary> /// <param name="hashAlgorithm"></param> /// <param name="issuerCert"></param> /// <param name="number"></param> /// <param name="provider"></param> public CertificateID(string hashAlgorithm, X509Certificate issuerCert, BigInteger number, string provider) { try { Digest digest = TransformationByName.DigestByName(hashAlgorithm); AlgorithmIdentifier hashAlg = new AlgorithmIdentifier(new DERObjectIdentifier(hashAlgorithm), new DERNull()); X509Name issuerName = issuerCert.getSubjectDN(); byte[] b = issuerName.getEncoded(); digest.update(b, 0, b.Length); b = new byte[digest.getDigestSize()]; digest.doFinal(b, 0); ASN1OctetString issuerNameHash = new DEROctetString(b); AsymmetricKeyParameter issuerKey = issuerCert.getPublicKey(); SubjectPublicKeyInfo info = SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(issuerKey); b = info.getEncoded(); digest.update(b, 0, b.Length); b = new byte[digest.getDigestSize()]; digest.doFinal(b, 0); ASN1OctetString issuerKeyHash = new DEROctetString(b); DERInteger serialNumber = new DERInteger(number); this.id = new CertID(hashAlg, issuerNameHash, issuerKeyHash, serialNumber); } catch (Exception e) { throw new OCSPException("problem creating ID: " + e, e); } }
public CAST5CBCParameters( byte[] iv, int keyLength) { this.iv = new DEROctetString(iv); this.keyLength = new DERInteger(keyLength); }
public AuthorityKeyIdentifier( ASN1Sequence seq) { IEnumerator e = seq.getObjects(); while (e.MoveNext()) { DERTaggedObject o = (DERTaggedObject)e.Current; switch ((int)o.getTagNo()) { case 0: this.keyidentifier = ASN1OctetString.getInstance(o, false); break; case 1: this.certissuer = GeneralNames.getInstance(o, false); break; case 2: this.certserno = DERInteger.getInstance(o, false); break; default: throw new ArgumentException("illegal tag"); } } }
public TBSCertificateStructure( ASN1Sequence seq) { int seqStart = 0; this.seq = seq; // // some certficates don't include a version number - we assume v1 // if (seq.getObjectAt(0) is DERTaggedObject) { version = DERInteger.getInstance(seq.getObjectAt(0)); } else { seqStart = -1; // field 0 is missing! version = new DERInteger(0); } serialNumber = DERInteger.getInstance(seq.getObjectAt(seqStart + 1)); signature = AlgorithmIdentifier.getInstance(seq.getObjectAt(seqStart + 2)); issuer = X509Name.getInstance(seq.getObjectAt(seqStart + 3)); // // before and after dates // ASN1Sequence dates = (ASN1Sequence)seq.getObjectAt(seqStart + 4); startDate = Time.getInstance(dates.getObjectAt(0)); endDate = Time.getInstance(dates.getObjectAt(1)); subject = X509Name.getInstance(seq.getObjectAt(seqStart + 5)); // // public key info. // subjectPublicKeyInfo = SubjectPublicKeyInfo.getInstance(seq.getObjectAt(seqStart + 6)); for (int extras = seq.size() - (seqStart + 6) - 1; extras > 0; extras--) { DERTaggedObject extra = (DERTaggedObject)seq.getObjectAt(seqStart + 6 + extras); switch ((int)extra.getTagNo()) { case 1: issuerUniqueId = DERBitString.getInstance(extra, false); break; case 2: subjectUniqueId = DERBitString.getInstance(extra, false); break; case 3: extensions = X509Extensions.getInstance(extra); break; } } }
public CompressedData( ASN1Sequence seq) { this.version = (DERInteger)seq.getObjectAt(0); this.compressionAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(1)); this.encapContentInfo = ContentInfo.getInstance(seq.getObjectAt(2)); }
public CertID( ASN1Sequence seq) { hashAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(0)); issuerNameHash = (ASN1OctetString)seq.getObjectAt(1); issuerKeyHash = (ASN1OctetString)seq.getObjectAt(2); serialNumber = (DERInteger)seq.getObjectAt(3); }
public PasswordRecipientInfo( AlgorithmIdentifier keyEncryptionAlgorithm, ASN1OctetString encryptedKey) { this.version = new DERInteger(0); this.keyEncryptionAlgorithm = keyEncryptionAlgorithm; this.encryptedKey = encryptedKey; }
public CompressedData( AlgorithmIdentifier compressionAlgorithm, ContentInfo encapContentInfo) { this.version = new DERInteger(0); this.compressionAlgorithm = compressionAlgorithm; this.encapContentInfo = encapContentInfo; }
public KEKRecipientInfo( ASN1Sequence seq) { version = (DERInteger)seq.getObjectAt(0); kekid = KEKIdentifier.getInstance(seq.getObjectAt(1)); keyEncryptionAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(2)); encryptedKey = (ASN1OctetString)seq.getObjectAt(3); }
public static RealSearchControlValue Extract(ICollection <byte> buffer) { var result = new RealSearchControlValue(); result.ExtractTagAndLength(buffer); result.Size = DERInteger.Extract(buffer); result.Cookie = DEROctetString.Extract(buffer); return(result); }
public PBEParameter(ASN1Sequence seq) { IEnumerator e = seq.getObjects(); e.MoveNext(); octStr = (ASN1OctetString)e.Current; e.MoveNext(); iterationCount = (DERInteger)e.Current; }
public DSAParameter( BigInteger p, BigInteger q, BigInteger g) { this.p = new DERInteger(p); this.q = new DERInteger(q); this.g = new DERInteger(g); }
public KEKRecipientInfo( KEKIdentifier kekid, AlgorithmIdentifier keyEncryptionAlgorithm, ASN1OctetString encryptedKey) { this.version = new DERInteger(4); this.kekid = kekid; this.keyEncryptionAlgorithm = keyEncryptionAlgorithm; this.encryptedKey = encryptedKey; }
public ElGamalParameter( ASN1Sequence seq) { IEnumerator e = seq.getObjects(); e.MoveNext(); p = (DERInteger)e.Current; e.MoveNext(); g = (DERInteger)e.Current; }
public TBSRequest( GeneralName requestorName, ASN1Sequence requestList, X509Extensions requestExtensions) { this.version = new DERInteger(0); this.requestorName = requestorName; this.requestList = requestList; this.requestExtensions = requestExtensions; }
public IssuerSerial( ASN1Sequence seq) { issuer = GeneralNames.getInstance(seq.getObjectAt(0)); serial = (DERInteger)seq.getObjectAt(1); if (seq.size() == 3) { issuerUID = (DERBitString)seq.getObjectAt(2); } }
public CertID( AlgorithmIdentifier hashAlgorithm, ASN1OctetString issuerNameHash, ASN1OctetString issuerKeyHash, DERInteger serialNumber) { this.hashAlgorithm = hashAlgorithm; this.issuerNameHash = issuerNameHash; this.issuerKeyHash = issuerKeyHash; this.serialNumber = serialNumber; }
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 CRLEntry( ASN1Sequence seq) { this.seq = seq; userCertificate = (DERInteger)seq.getObjectAt(0); revocationDate = Time.getInstance(seq.getObjectAt(1)); if (seq.size() == 3) { crlEntryExtensions = X509Extensions.getInstance(seq.getObjectAt(2)); } }