createRootCertificate static method

X509Certificate createRootCertificate({
  1. required AsymmetricKeyPair<PublicKey, PrivateKey> keyPair,
  2. required String dn,
  3. int validityYears = 10,
})

Generates a Self-Signed Root CA Certificate.

Implementation

static X509Certificate createRootCertificate({
  required AsymmetricKeyPair<PublicKey, PrivateKey> keyPair,
  required String dn,
  int validityYears = 10,
}) {
  final now = DateTime.now();
  return createCertificate(
    keyPair: keyPair,
    issuerKeyPair: keyPair, // Self-signed
    subjectDn: dn,
    issuerDn: dn,
    serialNumber: 1,
    notBefore: now,
    notAfter: now.add(Duration(days: 365 * validityYears)),
    isCa: true,
  );
}