public DistributionPointName( int type, ASN1Encodable name) { this.type = type; this.name = name; }
public SMIMECapability( DERObjectIdentifier capabilityID, ASN1Encodable parameters) { this.capabilityID = capabilityID; this.parameters = parameters; }
public SubjectPublicKeyInfo( AlgorithmIdentifier algId, ASN1Encodable publicKey) { this.keyData = new DERBitString(publicKey); this.algId = algId; }
public static CipherParameters generateCipherParameters( DERObjectIdentifier algorithmOID, char[] password, ASN1Encodable pbeParameters) { return(generateCipherParameters(algorithmOID.getId(), password, pbeParameters)); }
public OtherKeyAttribute( DERObjectIdentifier keyAttrId, ASN1Encodable keyAttr) { this.keyAttrId = keyAttrId; this.keyAttr = keyAttr; }
public AlgorithmIdentifier( DERObjectIdentifier objectId, ASN1Encodable parameters) { this.objectId = objectId; this.parameters = parameters; }
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 ContentInfo( DERObjectIdentifier contentType, ASN1Encodable content) { this.contentType = contentType; this.content = content; }
public CertStatus( int tagNo, ASN1Encodable value) { this.tagNo = tagNo; this.value = value; }
public OtherRecipientInfo( DERObjectIdentifier oriType, ASN1Encodable oriValue) { this.oriType = oriType; this.oriValue = oriValue; }
public SMIMECapability( ASN1Sequence seq) { capabilityID = (DERObjectIdentifier)seq.getObjectAt(0); if (seq.size() > 1) { parameters = (ASN1Object)seq.getObjectAt(1); } }
public void addCapability( DERObjectIdentifier capability, ASN1Encodable _params) { ASN1EncodableVector v = new ASN1EncodableVector(); v.add(capability); v.add(_params); capabilities.add(new DERSequence(v)); }
public EncryptedData( DERObjectIdentifier contentType, AlgorithmIdentifier encryptionAlgorithm, ASN1Encodable content) { ASN1EncodableVector v = new ASN1EncodableVector(); v.add(contentType); v.add(encryptionAlgorithm.toASN1Object()); v.add(new BERTaggedObject(false, 0, content)); data = new BERSequence(v); }
public ContentInfo( ASN1Sequence seq) { IEnumerator e = seq.getObjects(); e.MoveNext(); contentType = (DERObjectIdentifier)e.Current; if (e.MoveNext()) { content = ((DERTaggedObject)e.Current).getObject(); } }
public AlgorithmIdentifier( ASN1Sequence seq) { objectId = (DERObjectIdentifier)seq.getObjectAt(0); if (seq.size() == 2) { parameters = seq.getObjectAt(1); } else { parameters = null; } }
public DistributionPointName( ASN1TaggedObject obj) { this.type = obj.getTagNo(); if (type == FULL_NAME) { this.name = GeneralNames.getInstance(obj, false); } else { this.name = ASN1Set.getInstance(obj, false); } }
public static EncryptedPrivateKeyInfo createEncryptedPrivateKeyInfo( String algorithm, char[] passPhrase, byte[] salt, int iterationCount, PrivateKeyInfo keyInfo) { if (!PBEUtil.isPBEAlgorithm(algorithm)) { throw new Exception("attempt to use non-PBE algorithm with PBE EncryptedPrivateKeyInfo generation"); } ASN1Encodable parameters = PBEUtil.generateAlgorithmParameters(algorithm, salt, iterationCount); CipherParameters keyParameters = PBEUtil.generateCipherParameters(algorithm, passPhrase, parameters); byte[] encoding = null; Object engine = PBEUtil.createEngine(algorithm); if (engine is BufferedBlockCipher) { BufferedBlockCipher cipher = (BufferedBlockCipher)engine; cipher.init(true, keyParameters); byte[] keyBytes = keyInfo.getEncoded(); int encLen = cipher.getOutputSize(keyBytes.Length); encoding = new byte[encLen]; int off = cipher.processBytes(keyBytes, 0, keyBytes.Length, encoding, 0); cipher.doFinal(encoding, off); } else if (engine is StreamCipher) { StreamCipher cipher = (StreamCipher)engine; cipher.init(true, keyParameters); byte[] keyBytes = keyInfo.getEncoded(); encoding = new byte[keyBytes.Length]; cipher.processBytes(keyBytes, 0, keyBytes.Length, encoding, 0); } return(new EncryptedPrivateKeyInfo(new AlgorithmIdentifier(PBEUtil.getObjectIdentifier(algorithm), parameters), encoding)); }
/// <summary> /// Add an extension to this certificate. /// </summary> /// <param name="OID">Its Object identifier.</param> /// <param name="critical">Is it crtical.</param> /// <param name="value">The value.</param> public void addExtension(DERObjectIdentifier OID, bool critical, ASN1Encodable value) { MemoryStream mStr = new MemoryStream(); DEROutputStream dOut = new DEROutputStream(mStr); try { dOut.writeObject(value); } catch (IOException e) { throw new Exception("error encoding value: " + e); } this.addExtension(OID, critical, mStr.ToArray()); }
public CertStatus( ASN1TaggedObject choice) { this.tagNo = choice.getTagNo(); switch ((int)choice.getTagNo()) { case 0: value = new DERNull(); break; case 1: value = RevokedInfo.getInstance(choice, false); break; case 2: value = new DERNull(); break; } }
/** * Creates a new <code>PolicyQualifierInfo</code> instance. * * @param as <code>PolicyQualifierInfo</code> X509 structure * encoded as an ASN1Sequence. */ public PolicyQualifierInfo(ASN1Sequence aseq) { policyQualifierId = (DERObjectIdentifier)aseq.getObjectAt(0); qualifier = aseq.getObjectAt(1); }
public void addAttribute(string oid, ASN1Encodable value) { attributes.add(new Attribute(new DERObjectIdentifier(oid), new DERSet(value))); }
/** * Creates a new <code>PolicyQualifierInfo</code> instance. * * @param policyQualifierId a <code>PolicyQualifierId</code> value * @param qualifier the qualifier, defined by the above field. */ public PolicyQualifierInfo(DERObjectIdentifier policyQualifierId, ASN1Encodable qualifier) { this.policyQualifierId = policyQualifierId; this.qualifier = qualifier; }
/** * Creates a new <code>PolicyQualifierInfo</code> containing a * cPSuri qualifier. * * @param cps the CPS (certification practice statement) uri as a * <code>String</code>. */ public PolicyQualifierInfo(String cps) { policyQualifierId = PolicyQualifierId.id_qt_cps; qualifier = new DERIA5String(cps); }
public DEROctetString(ASN1Encodable obj) : base(obj) { }
public SignerIdentifier( ASN1OctetString id) { this.id = new DERTaggedObject(false, 0, id); }
public static CipherParameters generateCipherParameters( String algorithm, char[] password, ASN1Encodable pbeParameters) { String mechanism = (string)algorithms[algorithm.ToUpper()]; byte[] key; CipherParameters parameters = null; String type = (String)algorithmType[mechanism]; byte[] salt = null; int iterationCount = 0; if (isPKCS12(mechanism)) { PKCS12PBEParams pbeParams = PKCS12PBEParams.getInstance(pbeParameters); salt = pbeParams.getIV(); iterationCount = pbeParams.getIterations().intValue(); key = PBEParametersGenerator.PKCS12PasswordToBytes(password); } else if (isPKCS5Scheme2(mechanism)) { PBKDF2Params pbeParams = PBKDF2Params.getInstance(pbeParameters); salt = pbeParams.getSalt(); iterationCount = pbeParams.getIterationCount().intValue(); key = PBEParametersGenerator.PKCS5PasswordToBytes(password); } else { PBEParameter pbeParams = PBEParameter.getInstance(pbeParameters); salt = pbeParams.getSalt(); iterationCount = pbeParams.getIterationCount().intValue(); key = PBEParametersGenerator.PKCS5PasswordToBytes(password); } if (mechanism.StartsWith("PBEwithSHA-1")) { PBEParametersGenerator generator = makePBEGenerator((String)algorithmType[mechanism], new SHA1Digest(), key, salt, iterationCount); if (mechanism.Equals("PBEwithSHA-1and128bitRC4")) { parameters = generator.generateDerivedParameters(128); } else if (mechanism.Equals("PBEwithSHA-1and40bitRC4")) { parameters = generator.generateDerivedParameters(40); } else if (mechanism.Equals("PBEwithSHA-1and3-keyDESEDE-CBC")) { parameters = generator.generateDerivedParameters(192, 64); } else if (mechanism.Equals("PBEwithSHA-1and2-keyDESEDE-CBC")) { parameters = generator.generateDerivedParameters(128, 64); } else if (mechanism.Equals("PBEwithSHA-1and128bitRC2-CBC")) { parameters = generator.generateDerivedParameters(128, 64); } else if (mechanism.Equals("PBEwithSHA-1and40bitRC2-CBC")) { parameters = generator.generateDerivedParameters(40, 64); } else if (mechanism.Equals("PBEwithSHA1andDES-CBC")) { parameters = generator.generateDerivedParameters(64, 64); } else if (mechanism.Equals("PBEwithSHA1andRC2-CBC")) { parameters = generator.generateDerivedParameters(128, 64); } } else if (mechanism.StartsWith("PBEwithMD5")) { PBEParametersGenerator generator = makePBEGenerator((String)algorithmType[mechanism], new MD5Digest(), key, salt, iterationCount); if (mechanism.Equals("PBEwithMD5andDES-CBC")) { parameters = generator.generateDerivedParameters(64, 64); } else if (mechanism.Equals("PBEwithMD5andRC2-CBC")) { parameters = generator.generateDerivedParameters(64, 64); } } else if (mechanism.StartsWith("PBEwithMD2")) { PBEParametersGenerator generator = makePBEGenerator((String)algorithmType[mechanism], new MD2Digest(), key, salt, iterationCount); if (mechanism.Equals("PBEwithMD2andDES-CBC")) { parameters = generator.generateDerivedParameters(64, 64); } else if (mechanism.Equals("PBEwithMD2andRC2-CBC")) { parameters = generator.generateDerivedParameters(64, 64); } } else if (mechanism.StartsWith("PBEwithHmac")) { if (mechanism.Equals("PBEwithHmacSHA-1")) { PBEParametersGenerator generator = makePBEGenerator((String)algorithmType[mechanism], new SHA1Digest(), key, salt, iterationCount); parameters = generator.generateDerivedMacParameters(160); } else if (mechanism.Equals("PBEwithHmacSHA-224")) { PBEParametersGenerator generator = makePBEGenerator((String)algorithmType[mechanism], new SHA224Digest(), key, salt, iterationCount); parameters = generator.generateDerivedMacParameters(224); } else if (mechanism.Equals("PBEwithHmacSHA-256")) { PBEParametersGenerator generator = makePBEGenerator((String)algorithmType[mechanism], new SHA256Digest(), key, salt, iterationCount); parameters = generator.generateDerivedMacParameters(256); } else if (mechanism.Equals("PBEwithHmacRIPEMD128")) { PBEParametersGenerator generator = makePBEGenerator((String)algorithmType[mechanism], new RIPEMD128Digest(), key, salt, iterationCount); parameters = generator.generateDerivedMacParameters(128); } else if (mechanism.Equals("PBEwithHmacRIPEMD160")) { PBEParametersGenerator generator = makePBEGenerator((String)algorithmType[mechanism], new RIPEMD160Digest(), key, salt, iterationCount); parameters = generator.generateDerivedMacParameters(160); } else if (mechanism.Equals("PBEwithHmacRIPEMD256")) { PBEParametersGenerator generator = makePBEGenerator((String)algorithmType[mechanism], new RIPEMD256Digest(), key, salt, iterationCount); parameters = generator.generateDerivedMacParameters(256); } } for (int i = 0; i != key.Length; i++) { key[i] = 0; } return(parameters); }
public SignerIdentifier( IssuerAndSerialNumber id) { this.id = id; }
public ResponderID( ASN1OctetString value) { this.value = value; }
public SignerIdentifier( ASN1Object id) { this.id = id; }
public ResponderID( X509Name value) { this.value = value; }