<PackageReference Include="BouncyCastle.Cryptography" Version="2.8.0-beta.349" />

Org.BouncyCastle.X509.X509V3CertificateGenerator

Generator for X.509 version 3 certificates as defined in RFC 5280. Builds the TBSCertificate structure, optional v3 extensions, and signs the result via Generate.
namespace Org.BouncyCastle.X509 { public class X509V3CertificateGenerator { public IEnumerable<string> SignatureAlgNames { get; } public X509V3CertificateGenerator(); public X509V3CertificateGenerator(X509Certificate template); public X509V3CertificateGenerator(X509CertificateStructure template); public void Reset(); public void SetSerialNumber(DerInteger serialNumber); public void SetSerialNumber(BigInteger serialNumber); public void SetIssuerDN(X509Name issuer); public void SetValidity(Validity validity); public void SetNotBefore(DateTime date); public void SetNotAfter(DateTime date); public void SetSubjectDN(X509Name subject); public void SetPublicKey(AsymmetricKeyParameter publicKey); public void SetSubjectPublicKeyInfo(SubjectPublicKeyInfo subjectPublicKeyInfo); public void SetSubjectUniqueID(bool[] uniqueID); public void SetIssuerUniqueID(bool[] uniqueID); public void AddExtension(string oid, bool critical, Asn1Encodable extensionValue); public void AddExtension(DerObjectIdentifier oid, bool critical, Asn1Encodable extensionValue); public void AddExtension(string oid, bool critical, IAsn1Convertible extensionValue); public void AddExtension(DerObjectIdentifier oid, bool critical, IAsn1Convertible extensionValue); public void AddExtension(string oid, bool critical, byte[] extensionValue); public void AddExtension(DerObjectIdentifier oid, bool critical, byte[] extensionValue); public void AddExtension(DerObjectIdentifier oid, X509Extension x509Extension); public void AddExtension(Org.BouncyCastle.Asn1.X509.Extension extension); public void AddExtensions(X509Extensions extensions); public void CopyAndAddExtension(string oid, bool critical, X509Certificate cert); public void CopyAndAddExtension(DerObjectIdentifier oid, bool critical, X509Certificate cert); public X509Certificate Generate(ISignatureFactory signatureFactory); public X509Certificate Generate(ISignatureFactory signatureFactory, bool isCritical, ISignatureFactory altSignatureFactory); public X509Certificate GenerateUnsigned(); } }