public static PrivateKey loadPrivateKey(InputStream in) throws Exception {
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
final KeyFactory keyFactory = KeyFactory.getInstance("RSA");
final PemReader reader = new PemReader(new InputStreamReader(in));
final byte[] pubKey = reader.readPemObject().getContent();
reader.close();
PKCS8EncodedKeySpec publicKeySpec = new PKCS8EncodedKeySpec(pubKey);
PrivateKey publicKey = keyFactory.generatePrivate(publicKeySpec);
return publicKey;