generateCert method

TlsCerts generateCert(
  1. GenerateCertOptions options
)

Implementation

TlsCerts generateCert(GenerateCertOptions options) {
  final domainsStr = options.domains.join(',');
  final domainsPtr = StringUtf8Pointer(domainsStr).toNativeUtf8();
  final cnPtr = StringUtf8Pointer(options.commonName).toNativeUtf8();
  final orgPtr = StringUtf8Pointer(options.organization).toNativeUtf8();
  final expirePtr = StringUtf8Pointer(options.expire).toNativeUtf8();
  final isCAInt = options.isCA ? 1 : 0;

  try {
    final msg = _getTransferResponseData(
      _generateCert(domainsPtr, cnPtr, orgPtr, isCAInt, expirePtr),
    );

    final parts = msg.split('|');
    final certs = parts[0].split(',').toList();
    final keys = parts[1].split(',').toList();

    return TlsCerts(certificate: certs, key: keys);
  } finally {
    calloc.free(domainsPtr);
    calloc.free(cnPtr);
    calloc.free(orgPtr);
    calloc.free(expirePtr);
  }
}