50,504
社区成员
发帖
与我相关
我的任务
分享
public static KeyPair readKeyPair(File pemFile, char[] password) throws Exception
{
PEMParser pemParser = new PEMParser(new FileReader(pemFile));
Object object = pemParser.readObject();
pemParser.close();
PEMDecryptorProvider decProv = new JcePEMDecryptorProviderBuilder().build(password);
JcaPEMKeyConverter converter = new JcaPEMKeyConverter().setProvider("BC");
//获得密钥对
KeyPair kp = null;
if(object instanceof PEMEncryptedKeyPair)
{
kp = converter.getKeyPair(((PEMEncryptedKeyPair)object).decryptKeyPair(decProv));
}
else
{
kp = converter.getKeyPair((PEMKeyPair)object);
}
return kp;
}
public void initKeyPair(String pemFilePath, String password)
{
byte[] data = "PEM".getBytes();
Security.addProvider(new BouncyCastleProvider());
KeyPair kp;
try{
kp = (KeyPair)readKeyPair(new File(pemFilePath), password.toCharArray());
PublicKey publicKey = kp.getPublic();
PrivateKey privateKey = kp.getPrivate();
return publicKey;
}
catch(Exception e)
{
e.printStackTrace();
}
return null;
}