Java中的 KeyStore getCertificateChain() 方法及示例
Java.security.KeyStore类的getCertificateChain()方法用于为请求的别名提供证书链。 .
句法:
public final Certificate[]
getCertificateChain(String alias)
throws KeyStoreException
参数:此方法接受一个参数别名,该别名是别名的名称。
返回值:此方法返回所请求别名的证书链(如果存在)。
异常:如果您不初始化此密钥库,此方法将引发KeyStoreException 。
注意:本文中的所有程序都不会在在线 IDE 上运行,因为不存在“privatekey”密钥库。您可以在系统上的Java编译器上检查此代码。要检查此代码,请在您的系统上创建一个密钥库“privatekey”并设置您自己的密钥库密码以访问该密钥库。
以下是说明getCertificateChain()方法的示例:
示例 1:
// Java program to demonstrate
// getCertificate() method
import java.security.*;
import java.security.cert.*;
import java.util.*;
import java.io.*;
public class GFG {
public static void main(String[] argv)
{
try {
// creating the object of KeyStore
// and getting instance
// By using getInstance() method
KeyStore sr = KeyStore.getInstance("JKS");
// Keystore password is required
// to access Keystore
char[] pass = ("123456").toCharArray();
// creating and initializing
// object of InputStream
InputStream is
= new FileInputStream(
"f:/java/private key.store");
// initializing keystore object
sr.load(is, pass);
// getting the certificate
// using getCertificate() method
Certificate[] certchain
= sr.getCertificateChain("ftpkey");
// display the result
System.out.println(
"Type of certificate at index 0 : "
+ certchain[0].getType());
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出:
Type of certificate at index 0 : X.509
示例 2:对于KeyStoreException
// Java program to demonstrate
// getCertificate() method
import java.security.*;
import java.security.cert.*;
import java.util.*;
import java.io.*;
public class GFG {
public static void main(String[] argv)
{
try {
// creating the object of KeyStore
// and getting instance
// By using getInstance() method
KeyStore sr
= KeyStore.getInstance("JKS");
// initializing keystore object
// sr.load(is, pass);
// getting the certificate
// using getCertificate() method
Certificate[] certchain
= sr.getCertificateChain("ftpkey");
// display the result
System.out.println(
"Type of certifacte at index 0 : "
+ certchain[0].getType());
}
catch (Exception e) {
System.out.println("Exception thrown : " + e);
}
}
}
输出:
Exception thrown :
java.security.KeyStoreException:
Uninitialized keystore
参考: https://docs.oracle.com/javase/9/docs/api/ Java/security/KeyStore.html#getCertificateChain-java.lang.String-