diff --git a/javascript/src/utilities/signingUtilities.js b/javascript/src/utilities/signingUtilities.js index 3ecb0fd520d9872954d42dfbb478fe0e63c19bed..00d08544476fa4765696064f42de291a01811ad2 100644 --- a/javascript/src/utilities/signingUtilities.js +++ b/javascript/src/utilities/signingUtilities.js @@ -435,6 +435,11 @@ function createCertificate(certData, issuerData = null) { const serialNumberView = new Uint8Array(serialNumberBuffer); pkijs.getRandomValues(serialNumberView); serialNumberView[0] &= 0x7f; + while (serialNumberView[0] === 0 && (serialNumberView[1] & 0x80) === 0) { + const firstBytesView = new Uint8Array(serialNumberBuffer, 0, 2); + pkijs.getRandomValues(firstBytesView); + firstBytesView[0] &= 0x7f; + } // noinspection JSUnresolvedFunction certificate.serialNumber = new asn1js.Integer({ valueHex: serialNumberView