Skip to content

Commit

Permalink
Fix the AuthorityKeyIdentifier Issuer for Bouncy Castle CertificateBu…
Browse files Browse the repository at this point in the history
…ilder.
  • Loading branch information
mregen committed Jan 20, 2022
1 parent 3574d17 commit 81dd6c0
Showing 1 changed file with 6 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -271,16 +271,19 @@ private void CreateDefaults(IRandomGenerator random = null)
private void CreateMandatoryFields(X509V3CertificateGenerator cg)
{
m_subjectDN = new CertificateFactoryX509Name(SubjectName.Name);
// subject and issuer DN
// subject and issuer DN, issuer of issuer for AKI
m_issuerDN = null;
m_issuerIssuerAKI = null;
if (IssuerCAKeyCert != null)
{
m_issuerDN = new CertificateFactoryX509Name(IssuerCAKeyCert.Subject);
m_issuerIssuerAKI = new CertificateFactoryX509Name(IssuerCAKeyCert.Issuer);
}
else
{
// self signed
m_issuerDN = m_subjectDN;
m_issuerIssuerAKI = m_subjectDN;
}
cg.SetIssuerDN(m_issuerDN);
cg.SetSubjectDN(m_subjectDN);
Expand Down Expand Up @@ -332,7 +335,7 @@ private void CreateExtensions(X509V3CertificateGenerator cg, AsymmetricKeyParame

cg.AddExtension(Org.BouncyCastle.Asn1.X509.X509Extensions.AuthorityKeyIdentifier.Id, false,
new AuthorityKeyIdentifier(SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(issuerPublicKey),
new GeneralNames(new GeneralName(m_issuerDN)), issuerSerialNumber));
new GeneralNames(new GeneralName(m_issuerIssuerAKI)), issuerSerialNumber));

if (!m_isCA)
{
Expand Down Expand Up @@ -492,6 +495,7 @@ private void NewSerialNumber(IRandomGenerator random)

#region Private Fields
private X509Name m_issuerDN;
private X509Name m_issuerIssuerAKI;
private X509Name m_subjectDN;
#endregion
}
Expand Down

0 comments on commit 81dd6c0

Please sign in to comment.