docs: private KeyStore convertPemFileToKeyStore(Path pemFile) {
  		String pem;
  		try {
  			pem = FileUtils.readFileToString(pemFile.toFile(), StandardCharsets.US_ASCII);
  		} catch (IOException e) {
  			logger.warn("Failed to read .pem file:", e);
  			JOptionPane.showMessageDialog(
  					this,
  					Constant.messages.getString("dynssl.importpem.failedreadfile", e.getLocalizedMessage()),
  					Constant.messages.getString("dynssl.importpem.failed.title"),
  					JOptionPane.ERROR_MESSAGE);
  			return null;
  		}
  
  		byte[] cert;
  		try {
  			cert = SslCertificateUtils.extractCertificate(pem);
  			if (cert.length == 0) {
  				JOptionPane.showMessageDialog(
  						this,
  						Constant.messages.getString(
  								"dynssl.importpem.nocertsection",
  								SslCertificateUtils.BEGIN_CERTIFICATE_TOKEN,
  								SslCertificateUtils.END_CERTIFICATE_TOKEN),
  						Constant.messages.getString("dynssl.importpem.failed.title"),
  						JOptionPane.ERROR_MESSAGE);
  				return null;
  			}
  		} catch (IllegalArgumentException e) {
  			logger.warn("Failed to base64 decode the certificate from .pem file:", e);
  			JOptionPane.showMessageDialog(
  					this,
  					Constant.messages.getString("dynssl.importpem.certnobase64"),
  					Constant.messages.getString("dynssl.importpem.failed.title"),
  					JOptionPane.ERROR_MESSAGE);
  			return null;
  		}
  
  		byte[] key;
  		try {
  			key = SslCertificateUtils.extractPrivateKey(pem);
  			if (key.length == 0) {
  				JOptionPane.showMessageDialog(
  						this,
  						Constant.messages.getString(
  								"dynssl.importpem.noprivkeysection",
  								SslCertificateUtils.BEGIN_PRIVATE_KEY_TOKEN,
  								SslCertificateUtils.END_PRIVATE_KEY_TOKEN),
  						Constant.messages.getString("dynssl.importpem.failed.title"),
  						JOptionPane.ERROR_MESSAGE);
  				return null;
  			}
  		} catch (IllegalArgumentException e) {
  			logger.warn("Failed to base64 decode the private key from .pem file:", e);
  			JOptionPane.showMessageDialog(
  					this,
  					Constant.messages.getString("dynssl.importpem.privkeynobase64"),
  					Constant.messages.getString("dynssl.importpem.failed.title"),
  					JOptionPane.ERROR_MESSAGE);
  			return null;
  		}
  
  		try {
  			return SslCertificateUtils.pem2KeyStore(cert, key);
  		} catch (Exception e) {
  			logger.error("Error creating KeyStore for Root CA cert from .pem file:", e);
  			JOptionPane.showMessageDialog(
  					this,
  					Constant.messages.getString("dynssl.importpem.failedkeystore", e.getLocalizedMessage()),
  					Constant.messages.getString("dynssl.importpem.failed.title"),
  					JOptionPane.ERROR_MESSAGE);
  			return null;
  		}
  	}