我有pcks12证书,它是从api返回的,并且受密码保护。
我知道密码,想删除它和base64编码证书没有密码。
问题出在打印行的最后—它确实打印base64数据,当我将它粘贴到保存在桌面上的.p12文件时,它只是抛出一个错误,说该文件无效。
记住,如果我粘贴 certStr
base64字符串,对同一文件进行密码保护-它提示安装,但也请求密码。
// String certStr = Base64 enccoded and password protected
// String passphrase = password for the file/certificate
byte[] decodedData = android.util.Base64.decode(certStr, android.util.Base64.DEFAULT);
KeyStore p12 = KeyStore.getInstance("pkcs12");
InputStream sslInputStream = new ByteArrayInputStream(decodedData);
p12.load(sslInputStream, passphrase.toCharArray());
Enumeration enumeration = p12.aliases();
String alias = null;
while (enumeration.hasMoreElements()) {
alias = (String) enumeration.nextElement();
}
Certificate certificate = p12.getCertificate(alias);
String encodedCert = android.util.Base64.encodeToString(certificate.getEncoded(), android.util.Base64.DEFAULT);
System.out.println(encodedCert);
暂无答案!
目前还没有任何答案,快来回答吧!