diff options
Diffstat (limited to 'crypto/src/x509/X509V3CertificateGenerator.cs')
-rw-r--r-- | crypto/src/x509/X509V3CertificateGenerator.cs | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/crypto/src/x509/X509V3CertificateGenerator.cs b/crypto/src/x509/X509V3CertificateGenerator.cs index 1dd1776be..ea773bb1b 100644 --- a/crypto/src/x509/X509V3CertificateGenerator.cs +++ b/crypto/src/x509/X509V3CertificateGenerator.cs @@ -136,11 +136,20 @@ namespace Org.BouncyCastle.X509 tbsGen.SetSubjectPublicKeyInfo(SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(publicKey)); } - /// <summary> - /// Set the subject unique ID - note: it is very rare that it is correct to do this. - /// </summary> - /// <param name="uniqueID"/> - public void SetSubjectUniqueID( + /// <summary> + /// Set the SubjectPublicKeyInfo for the public key that this certificate identifies. + /// </summary> + /// <param name="subjectPublicKeyInfo"/> + public void SetSubjectPublicKeyInfo(SubjectPublicKeyInfo subjectPublicKeyInfo) + { + tbsGen.SetSubjectPublicKeyInfo(subjectPublicKeyInfo); + } + + /// <summary> + /// Set the subject unique ID - note: it is very rare that it is correct to do this. + /// </summary> + /// <param name="uniqueID"/> + public void SetSubjectUniqueID( bool[] uniqueID) { tbsGen.SetSubjectUniqueID(BooleanToBitString(uniqueID)); @@ -156,13 +165,13 @@ namespace Org.BouncyCastle.X509 tbsGen.SetIssuerUniqueID(BooleanToBitString(uniqueID)); } - /// <summary> - /// Add a given extension field for the standard extensions tag (tag 3). - /// </summary> - /// <param name="oid">string containing a dotted decimal Object Identifier.</param> - /// <param name="critical">Is it critical.</param> - /// <param name="extensionValue">The value.</param> - public void AddExtension( + /// <summary> + /// Add a given extension field for the standard extensions tag (tag 3). + /// </summary> + /// <param name="oid">string containing a dotted decimal Object Identifier.</param> + /// <param name="critical">Is it critical.</param> + /// <param name="extensionValue">The value.</param> + public void AddExtension( string oid, bool critical, Asn1Encodable extensionValue) @@ -306,7 +315,7 @@ namespace Org.BouncyCastle.X509 /// </summary> public IEnumerable<string> SignatureAlgNames => X509Utilities.GetAlgNames(); - private static DerBitString BooleanToBitString(bool[] id) + internal static DerBitString BooleanToBitString(bool[] id) { int byteLength = (id.Length + 7) / 8; |