createUserCertificate static method

X509Certificate createUserCertificate({
  1. required AsymmetricKeyPair<PublicKey, PrivateKey> keyPair,
  2. required AsymmetricKeyPair<PublicKey, PrivateKey> issuerKeyPair,
  3. required String subjectDn,
  4. required String issuerDn,
  5. required int serialNumber,
  6. BigInt? serialNumberBigInt,
  7. List<String>? crlUrls,
  8. List<String>? ocspUrls,
  9. List<String>? extendedKeyUsageOids,
  10. int validityDays = 365,
})

Generates a User (End-Entity) Certificate signed by issuerKeyPair.

Implementation

static X509Certificate createUserCertificate({
  required AsymmetricKeyPair<PublicKey, PrivateKey> keyPair,
  required AsymmetricKeyPair<PublicKey, PrivateKey> issuerKeyPair,
  required String subjectDn,
  required String issuerDn,
  required int serialNumber,
  BigInt? serialNumberBigInt,
  List<String>? crlUrls,
  List<String>? ocspUrls,
  List<String>? extendedKeyUsageOids,
  int validityDays = 365,
}) {
  final now = DateTime.now();
  return createCertificate(
    keyPair: keyPair,
    issuerKeyPair: issuerKeyPair,
    subjectDn: subjectDn,
    issuerDn: issuerDn,
    serialNumber: serialNumber,
    serialNumberBigInt: serialNumberBigInt,
    notBefore: now,
    notAfter: now.add(Duration(days: validityDays)),
    isCa: false, // End entity
    crlUrls: crlUrls,
    ocspUrls: ocspUrls,
    extendedKeyUsageOids: extendedKeyUsageOids,
  );
}