generateCSR method

  1. @override
Future<String?> generateCSR(
  1. String cn,
  2. String email, {
  3. String? organizationName,
  4. String? organizationUnit,
  5. String? locality,
  6. String? state,
  7. String? country,
})
override

Generates a CSR (Certificate Signing Request) for cn.

Implementation

@override
Future<String?> generateCSR(String cn, String email,
    {String? organizationName,
    String? organizationUnit,
    String? locality,
    String? state,
    String? country}) async {
  var domainKeyPair = await getDomainPEMKeyPair(cn);
  if (domainKeyPair == null) {
    return null;
  }

  var attributes = {
    'CN': cn,
    if (organizationName != null) 'O': organizationName,
    if (organizationUnit != null) 'OU': organizationUnit,
    if (locality != null) 'L': locality,
    if (state != null) 'ST': state,
    if (country != null) 'C': country,
  };

  var csr = X509Utils.generateRsaCsrPem(
      attributes, domainKeyPair.privateKey, domainKeyPair.publicKey);

  return csr;
}