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

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

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

Java.security.KeyStore类的deleteEntry(String alias)方法用于删除请求的别名的条目。

句法:

public final void deleteEntry(String alias)
  throws KeyStoreException

参数:该方法将别名的名称作为要删除条目的String类型的参数查找。

返回值:此方法没有任何返回值。

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

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

以下是说明deleteEntry()方法的示例:

示例 1:

// Java program to demonstrate
// getInstance() 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 Enumeration object
            // and initializing with null
            Enumeration e = null;
  
            // creating the object of MessageDigest
            // and getting instance
            // By using getInstance() method
            KeyStore sr = KeyStore.getInstance("JKS");
  
            // keystore password is require 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 list of aliases
            // using aliases() method
            e = sr.aliases();
  
            // display the result
            System.out.println("List of all the alias"
                               + " present before deletion");
            while (e.hasMoreElements()) {
                System.out.print(e.nextElement() + " ");
                System.out.println();
            }
  
            // delete the entry having alias name htttp
            // using deleteEntry method
            sr.deleteEntry("htttp");
  
            // getting the list of aliases
            // using aliases() method
            e = sr.aliases();
  
            // display the result
            System.out.println("\nList of all the alias"
                               + " present after deletion");
            while (e.hasMoreElements()) {
                System.out.print(e.nextElement() + " ");
                System.out.println();
            }
        }
  
        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);
        }
    }
}
输出:
List of all the alias present before deletion
ftpkey
htttp

List of all the alias present after deletion
ftpkey

示例 2:对于

// Java program to demonstrate
// getInstance() 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 Enumeration object
            // and initializing with null
            Enumeration e = null;
  
            // creating the object of MessageDigest
            // and getting instance
            // By using getInstance() method
            KeyStore sr = KeyStore.getInstance("JKS");
  
            // initializing keystore object
            // sr.load(is, pass);
  
            // getting the list of aliases
            // using aliases() method
            e = sr.aliases();
  
            // display the result
            System.out.println("List of all the alias "
                               + "present before deletion");
            while (e.hasMoreElements()) {
                System.out.print(e.nextElement() + " ");
                System.out.println();
            }
  
            // delete the entry having alias name htttp
            // using deleteEntry method
            sr.deleteEntry("htttp");
  
            // getting the list of aliases
            // using aliases() method
            e = sr.aliases();
  
            // display the result
            System.out.println("\nList of all the alias"
                               + " present after deletion");
            while (e.hasMoreElements()) {
                System.out.print(e.nextElement() + " ");
                System.out.println();
            }
        }
        catch (NullPointerException e) {
  
            System.out.println("Exception thrown : " + e);
        }
        catch (KeyStoreException 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#deleteEntry-java.lang.String-