code: public static KeyFactory getKeyFactory(String algorithm) {
  		final Provider provider = GlobalBouncyCastleProvider.INSTANCE.getProvider();
  
  		KeyFactory keyFactory;
  		try {
  			keyFactory = (null == provider) //
  					? KeyFactory.getInstance(getMainAlgorithm(algorithm)) //
  					: KeyFactory.getInstance(getMainAlgorithm(algorithm), provider);
  		} catch (NoSuchAlgorithmException e) {
  			throw new CryptoException(e);
  		}
  		return keyFactory;
  	}
docs: 获取{@link KeyFactory}
  
  @param algorithm 非对称加密算法
  @return {@link KeyFactory}
  @since 4.4.4