How to use the pkijs.BasicConstraints function in pkijs

To help you get started, we’ve selected a few pkijs examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github PeculiarVentures / fortify / src / main / ssl.ts View on Github external
}),
      new pkijs.GeneralName({
        type: 7,
        value: new asn1js.OctetString({ valueHex: new Uint8Array(Buffer.from("7F000001", "hex")).buffer }),
      }),
    ],
  });
  certificate.extensions.push(new pkijs.Extension({
    extnID: "2.5.29.17",
    critical: false,
    extnValue: subjectAlternativeName.toSchema().toBER(false),
    parsedValue: subjectAlternativeName,
  }));

  // Basic constraints
  const basicConstraints = new pkijs.BasicConstraints({
    cA: false,
  });
  certificate.extensions.push(new pkijs.Extension({
    extnID: "2.5.29.19",
    critical: false,
    extnValue: basicConstraints.toSchema().toBER(false),
    parsedValue: basicConstraints,
  }));

  await certificate.subjectPublicKeyInfo.importKey(keyPair.publicKey);
  await certificate.sign(caKey, hashAlg);

  return certificate;
}
github PeculiarVentures / fortify / src / main / ssl.ts View on Github external
}),
      new pkijs.GeneralName({
        type: 7,
        value: new asn1js.OctetString({ valueHex: new Uint8Array(Buffer.from("7F000001", "hex")).buffer }),
      }),
    ],
  });
  certificate.extensions.push(new pkijs.Extension({
    extnID: "2.5.29.17",
    critical: false,
    extnValue: subjectAlternativeName.toSchema().toBER(false),
    parsedValue: subjectAlternativeName,
  }));

  // Basic constraints
  const basicConstraints = new pkijs.BasicConstraints({
    cA: false,
  });
  certificate.extensions.push(new pkijs.Extension({
    extnID: "2.5.29.19",
    critical: false,
    extnValue: basicConstraints.toSchema().toBER(false),
    parsedValue: basicConstraints,
  }));

  await certificate.subjectPublicKeyInfo.importKey(keyPair.publicKey);
  await certificate.sign(caKey, hashAlg);

  return certificate;
}
github PeculiarVentures / fortify / src / main / ssl.ts View on Github external
value: new asn1js.PrintableString({ value: "Fortify Local CA" }),
  });

  certificate.issuer.typesAndValues.push(commonName);
  certificate.subject.typesAndValues.push(commonName);

  // Valid period is 1 year
  certificate.notBefore.value = new Date(); // current date
  const notAfter = new Date();
  notAfter.setFullYear(notAfter.getFullYear() + 1);
  certificate.notAfter.value = notAfter;

  certificate.extensions = []; // Extensions are not a part of certificate by default, it's an optional array

  // Basic constraints
  const basicConstraints = new pkijs.BasicConstraints({
    cA: true,
    pathLenConstraint: 2,
  });
  certificate.extensions.push(new pkijs.Extension({
    extnID: "2.5.29.19",
    critical: false,
    extnValue: basicConstraints.toSchema().toBER(false),
    parsedValue: basicConstraints,
  }));

  await certificate.subjectPublicKeyInfo.importKey(keyPair.publicKey);
  await certificate.sign(keyPair.privateKey, hashAlg);

  return certificate;
}
github PeculiarVentures / fortify / src / main / ssl.ts View on Github external
value: new asn1js.PrintableString({ value: "Fortify Local CA" }),
  });

  certificate.issuer.typesAndValues.push(commonName);
  certificate.subject.typesAndValues.push(commonName);

  // Valid period is 1 year
  certificate.notBefore.value = new Date(); // current date
  const notAfter = new Date();
  notAfter.setFullYear(notAfter.getFullYear() + 1);
  certificate.notAfter.value = notAfter;

  certificate.extensions = []; // Extensions are not a part of certificate by default, it's an optional array

  // Basic constraints
  const basicConstraints = new pkijs.BasicConstraints({
    cA: true,
    pathLenConstraint: 2,
  });
  certificate.extensions.push(new pkijs.Extension({
    extnID: "2.5.29.19",
    critical: false,
    extnValue: basicConstraints.toSchema().toBER(false),
    parsedValue: basicConstraints,
  }));

  await certificate.subjectPublicKeyInfo.importKey(keyPair.publicKey);
  await certificate.sign(keyPair.privateKey, hashAlg);

  return certificate;
}

pkijs

Public Key Infrastructure (PKI) is the basis of how identity and key management is performed on the web today. PKIjs is a pure JavaScript library implementing the formats that are used in PKI applications. It is built on WebCrypto and aspires to make it p

BSD-3-Clause
Latest version published 5 months ago

Package Health Score

80 / 100
Full package analysis