📌  相关文章
📜  Java中的 KeyStore isCertificateEntry() 方法及示例

📅  最后修改于: 2022-05-13 01:55:45.781000             🧑  作者: Mango

Java中的 KeyStore isCertificateEntry() 方法及示例

Java.security.KeyStore类的isCertificateEntry()方法用于检查指定的证书条目是否存在于此 KeyStore 实例中。它返回一个表示相同的布尔值。

句法:

public final boolean isCertificateEntry(String alias)
    throws KeyStoreException

参数:此方法接受别名的名称作为要检查其证书条目的参数。

返回值:此方法检查请求的别名是否存在证书条目(如果存在)并返回布尔值

异常:如果密钥库尚未初始化,此方法将引发KeyStoreException

注意:本文中的所有程序都不会在在线 IDE 上运行,因为不存在“privatekey”密钥库。您可以在系统上的Java编译器上检查此代码。要检查此代码,请在您的系统上创建一个 Keystore 'privatekey' 并设置您自己的 Keystore 密码以访问该 Keystore。

下面是说明isCertificateEntry()方法的示例:

示例 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);
  
            // checking the presence of certificate entry
            // using isCertificateEntry() method
            Boolean status
                = sr.isCertificateEntry("ftpkey");
  
            // display the result
            if (status)
                System.out.println(
                    "\nCertificate "
                    + "entry is present");
            else
                System.out.println(
                    "\nCertificate "
                    + "entry is not present");
        }
  
        catch (NoSuchAlgorithmException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (NullPointerException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (KeyStoreException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (FileNotFoundException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (IOException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (CertificateException e) {
  
            System.out.println("Exception thrown : " + e);
        }
    }
}
输出:

示例 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");
  
            // 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);
  
            // checking the presence of certificate entry
            // using isCertificateEntry() method
            Boolean status
                = sr.isCertificateEntry("ftpkey");
  
            // display the result
            if (status)
                System.out.println(
                    "\nCertificate "
                    + "entry is present");
            else
                System.out.println(
                    "\nCertificate "
                    + "entry is not present");
        }
        catch (NullPointerException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (KeyStoreException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (FileNotFoundException e) {
  
            System.out.println("Exception thrown : " + e);
        }
    }
}

输出:

参考: https://docs.oracle.com/javase/9/docs/api/ Java/security/KeyStore.html#isCertificateEntry-java.lang.String-