热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java中的KeyStoreisCertificateEntry()方法,示例

Java中的KeyStoreisCertificateEntry()方法,示例

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

原文:https://www . geesforgeks . org/keystore-iscertifientry-method-in-Java-with-examples/

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

语法:

public final boolean isCertificateEntry(String alias)
throws KeyStoreException

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

返回值:该方法检查所请求别名的证书条目是否存在,并返回一个布尔值

异常:如果密钥库还没有初始化,这个方法抛出密钥库异常

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

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

例 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);
        }
    }
}

Output:

示例 2: 适用于密钥库异常

// 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 # iscertifieteentry-Java . lang . string-


推荐阅读
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
author-avatar
睿芬惠洁育瑋
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有