Skip to content

Commit 5fd875e

Browse files
committed
fix missing authorityKeyIdentifier in self-signed certificate #20
1 parent 0178ec4 commit 5fd875e

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

packages/node-opcua-crypto-test/test/test_create_self_signed_certificate.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import fs from "fs";
2525
import path from "path";
2626
import os from "os";
2727
import util from "util";
28-
28+
import should from "should";
2929
import x509 from "@peculiar/x509";
3030
import {
3131
readCertificate,
@@ -45,7 +45,7 @@ const tmpTestFolder = os.tmpdir();
4545
describe("creating X509 self-signed certificates", function () {
4646
this.timeout(100000);
4747

48-
it("should create a certificate", async () => {
48+
it("should create a self-signed certificate", async () => {
4949
const { privateKey } = await generateKeyPair();
5050
const { cert } = await createSelfSignedCertificate({
5151
privateKey,
@@ -67,6 +67,12 @@ describe("creating X509 self-signed certificates", function () {
6767
info.tbsCertificate.extensions!.keyUsage!.dataEncipherment.should.eql(true);
6868
info.tbsCertificate.extensions!.keyUsage!.digitalSignature.should.eql(true);
6969
info.tbsCertificate.extensions!.keyUsage!.cRLSign.should.eql(false);
70+
71+
should.exist(info.tbsCertificate.extensions!.subjectKeyIdentifier);
72+
should.exist(info.tbsCertificate.extensions!.authorityKeyIdentifier);
73+
info.tbsCertificate.extensions!.authorityKeyIdentifier!.keyIdentifier!.should.eql(
74+
info.tbsCertificate.extensions?.subjectKeyIdentifier
75+
);
7076
});
7177
it("should create a certificate with alternative names", async () => {
7278
const { privateKey } = await generateKeyPair();

packages/node-opcua-crypto/source/x509/create_self_signed_certificate.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ export async function createSelfSignedCertificate({
104104
new x509.ExtendedKeyUsageExtension(keyUsageExtension, true),
105105
new x509.KeyUsagesExtension(usages, true),
106106
await x509.SubjectKeyIdentifierExtension.create(keys.publicKey),
107+
await x509.AuthorityKeyIdentifierExtension.create(keys.publicKey),
107108
new x509.SubjectAlternativeNameExtension(alternativeNameExtensions),
108109
],
109110
},

0 commit comments

Comments
 (0)