0
我使用下面的代碼來顯示與我的密鑰庫證書關聯的別名,並且它工作正常,現在可以如何顯示別名passowrd?有沒有這方面的任何方法。顯示來自密鑰庫證書的別名密碼
public class keyaliasfinder {
public static void main(String args[])
{
FileInputStream is = null;
try {
File file = new File("c:\\my_keystore");
is = new FileInputStream(file);
KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
String password = "FnvUKHdr6b4343dfdf";
keystore.load(is, password.toCharArray());
PrivateKey p=new PrivateKey() {
@Override
public String getFormat() {
// TODO Auto-generated method stub
return null;
}
@Override
public byte[] getEncoded() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getAlgorithm() {
// TODO Auto-generated method stub
return null;
}
};
Enumeration enumeration = keystore.aliases();
while(enumeration.hasMoreElements()) {
String alias = (String)enumeration.nextElement();
System.out.println("alias name: " + alias);
Certificate certificate = keystore.getCertificate(alias);
System.out.println(certificate.toString());
}
} catch (java.security.cert.CertificateException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (KeyStoreException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
if(null != is)
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
的密碼,必須提供用於讀取密鑰存儲的私鑰。你必須知道它。它不存儲在密鑰存儲區中。 – Robert
@Robert,但我在哪裏提到這個密碼是你在談論已經存在的密鑰庫密碼。 – Prateek
@Robert當然它存儲在KeyStore中。但是,當然沒有API來檢索它。否則,KeyStore API將不安全。 – EJP