public static CertChainKeyPair generateSignedForClient(String fqdn,X509Certificate issuerCertificate,PrivateKey issuerPrivateKey){
  try {
    return generateCertificateAndSign(fqdn,issuerCertificate,issuerPrivateKey,getClientExtensions());
  }
 catch (  CertIOException|CertificateException|OperatorCreationException e) {
    throw new RuntimeException(String.format("Failed to generate client certificate, reason: %s",e.getMessage()),e);
  }
}

public static CertChainKeyPair generateSignedForClient ( String fqdn , X509Certificate issuerCertificate , PrivateKey issuerPrivateKey ) { try { return generateCertificateAndSign ( fqdn , issuerCertificate , issuerPrivateKey , getClientExtensions ( ) ) ; } catch ( CertIOException | CertificateException | OperatorCreationException e ) { throw new RuntimeException ( String . format ( "Failed to generate client certificate, reason: %s" , e . getMessage ( ) ) , e ) ; } }
generates a signed certificate and a private key for client auth .
