You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello, can someone please verify if I am doing something wrong.
I would like to append root CA and intermediate cert from Let's Encrypt that certificate would like this - see the screen.
This is the code:
const path = require('path');
const privateKeyFilePath = path.join(__dirname, 'private.key');
const certFilePath = path.join(__dirname, 'serverCert.pem');
const cert = fs.readFileSync(certFilePath, 'utf8');
const key = fs.readFileSync(privateKeyFilePath, 'utf8');
// Load your server certificate
const privateKey = forge.pki.privateKeyFromPem(key.toString());
const serverCertificate = forge.pki.certificateFromPem(cert.toString());
const intermediateCertUrl = 'https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem';
const rootCertUrl = 'https://letsencrypt.org/certs/isrgrootx1.pem';
const intermediateCertResponse = await fetch(intermediateCertUrl);
const rootCertResponse = await fetch(rootCertUrl);
const intermediateCertPem = await intermediateCertResponse.text();
const rootCertPem = await rootCertResponse.text();
const intermediateCert = forge.pki.certificateFromPem(intermediateCertPem);
const rootCert = forge.pki.certificateFromPem(rootCertPem);
// Create the certificate chain
serverCertificate.setIssuer(intermediateCert.subject.attributes);
intermediateCert.setIssuer(rootCert.subject.attributes);
// Generate the PKCS#12 certificate
const pkcs12 = forge.pkcs12.toPkcs12Asn1(privateKey, [serverCertificate, intermediateCert, rootCert], '');
// Define the file path where you want to save the PKCS#12 certificate (PFX format)
const pfxFilePath = path.join(__dirname, 'output.pfx');
// Convert the PKCS#12 certificate to binary format
const pfxDer = forge.asn1.toDer(pkcs12).getBytes();
// Write the PKCS#12 certificate to a file (PFX format)
fs.writeFileSync(pfxFilePath, pfxDer, { encoding: 'binary' });
console.log(`PKCS#12 certificate saved to ${pfxFilePath}`);
output.pfx looks like this only server certificate is present:
using latest node-forge 1.3.1
The text was updated successfully, but these errors were encountered:
Hello, can someone please verify if I am doing something wrong.
I would like to append root CA and intermediate cert from Let's Encrypt that certificate would like this - see the screen.
This is the code:
output.pfx looks like this only server certificate is present:
using latest node-forge 1.3.1
The text was updated successfully, but these errors were encountered: