概述

软件包

使用

已过时

索引

帮助

JavaTM 2 Platform

Standard Ed. 6

上一个类

下一个类

框架

无框架

摘要: 嵌套 | 字段 | 构造方法 | 方法

详细信息: 字段 | 构造方法 | 方法

java.security

类 KeyStoreSpi

java.lang.Object

java.security.KeyStoreSpi

public abstract class KeyStoreSpi

extends Object

此类为 KeyStore 类定义服务提供者接口 (SPI)。希望提供特定 keystore 类型的 keystore 实现的每个加密服务提供者必须实现此类中所有的抽象方法。

从以下版本开始:

1.2

另请参见:

KeyStore

构造方法摘要

KeyStoreSpi()

方法摘要

abstract  Enumeration

engineAliases()

列出此 keystore 的所有别名。

abstract  boolean

engineContainsAlias(String alias)

检查给定别名是否存在于此 keystore 中。

abstract  void

engineDeleteEntry(String alias)

删除由此 keystore 中给定的别名标识的项。

boolean

engineEntryInstanceOf(String alias,

Class extends KeyStore.Entry> entryClass)

确定指定 alias 的 keystore Entry 是否是指定 entryClass 的实例或子类。

abstract  Certificate

engineGetCertificate(String alias)

返回与给定别名关联的证书。

abstract  String

engineGetCertificateAlias(Certificate cert)

返回其证书和给定证书匹配的第一个 keystore 项的名称(别名)。

abstract  Certificate[]

engineGetCertificateChain(String alias)

返回与给定别名关联的证书链。

abstract  Date

engineGetCreationDate(String alias)

返回该别名标识的项的创建日期。

KeyStore.Entry

engineGetEntry(String alias,

KeyStore.ProtectionParameter protParam)

使用指定保护参数获取指定别名的 KeyStore.Entry。

abstract  Key

engineGetKey(String alias,

char[] password)

返回与给定别名关联的密钥,使用给定密码恢复它。

abstract  boolean

engineIsCertificateEntry(String alias)

如果给定别名标识的项是通过调用 setCertificateEntry 或者调用使用 TrustedCertificateEntry 作为参数的 setEntry 来创建的,则返回 true。

abstract  boolean

engineIsKeyEntry(String alias)

如果给定别名标识的项是通过调用 setKeyEntry 或者调用使用 PrivateKeyEntry 或 SecretKeyEntry 作为参数的 setEntry 创建的,则返回 true。

abstract  void

engineLoad(InputStream stream,

char[] password)

从给定的输入流中加载此 KeyStore。

void

engineLoad(KeyStore.LoadStoreParameter param)

使用给定的 KeyStore.LoadStoreParameter 加载该 keystore。

abstract  void

engineSetCertificateEntry(String alias,

Certificate cert)

将给定证书分配给给定别名。

void

engineSetEntry(String alias,

KeyStore.Entry entry,

KeyStore.ProtectionParameter protParam)

用指定别名保存 KeyStore.Entry。

abstract  void

engineSetKeyEntry(String alias,

byte[] key,

Certificate[] chain)

将给定密钥(已经被保护)分配给给定别名。

abstract  void

engineSetKeyEntry(String alias,

Key key,

char[] password,

Certificate[] chain)

将给定的密钥分配给给定的别名,用给定的密码保护它。

abstract  int

engineSize()

获取此 keystore 中项的数目。

void

engineStore(KeyStore.LoadStoreParameter param)

使用给定的 KeyStore.LoadStoreParmeter 存储此 keystore。

abstract  void

engineStore(OutputStream stream,

char[] password)

将此 keystore 存储到给定输出流中,并用给定的密码保护其完整性。

从类 java.lang.Object 继承的方法

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

构造方法详细信息

KeyStoreSpi

public KeyStoreSpi()

方法详细信息

engineGetKey

public abstract Key engineGetKey(String alias,

char[] password)

throws NoSuchAlgorithmException,

UnrecoverableKeyException

返回与给定别名关联的密钥,使用给定密码恢复它。必须通过调用 setKeyEntry 或者调用使用 PrivateKeyEntry 或 SecretKeyEntry 作为参数的 setEntry 将密钥与别名关联。

参数:

alias - 别名password - 恢复密钥所用的密码

返回:

请求的密钥,如果给定别名不存在或不标识与密钥相关的项,则返回 null。

抛出:

NoSuchAlgorithmException - 如果不能找到恢复密钥的算法

UnrecoverableKeyException - 如果不能恢复密钥(例如,给定的密码错误)。

engineGetCertificateChain

public abstract Certificate[] engineGetCertificateChain(String alias)

返回与给定别名关联的证书链。必须通过调用 setKeyEntry,或者调用使用 PrivateKeyEntry 做参数的 setEntry 将密钥与别名关联。

参数:

alias - 别名

返回:

证书链(按用户证书在前根证书授权中心在后的顺序),如果给定别名不存在或不包含证书链,则返回 null

engineGetCertificate

public abstract Certificate engineGetCertificate(String alias)

返回与给定别名关联的证书。

如果给定的别名标识通过调用 setCertificateEntry 创建的项,或标识通过调用使用 TrustedCertificateEntry 参数的 setEntry 创建的项,那么返回包含在该项中的可信证书。

如果给定的别名标识通过调用 setKeyEntry 创建的项,或标识通过调用使用 PrivateKeyEntry 作为参数的 setEntry 创建的项,那么返回该项中证书链(如果存在证书链)的第一个元素。

参数:

alias - 别名

返回:

证书,如果给定别名不存在或不包含证书,则返回 null。

engineGetCreationDate

public abstract Date engineGetCreationDate(String alias)

返回该别名标识的项的创建日期。

参数:

alias - 别名

返回:

此项的创建日期,如果给定的别名不存在,则返回 null

engineSetKeyEntry

public abstract void engineSetKeyEntry(String alias,

Key key,

char[] password,

Certificate[] chain)

throws KeyStoreException

将给定的密钥分配给给定的别名,用给定的密码保护它。

如果给定密钥的类型为 java.security.PrivateKey 类型,则它必须附带证明相应公钥的证书链。

如果给定的别名已经存在,则与别名关联的 keystore 信息被给定的密钥(可能和证书链)重写。

参数:

alias - 别名key - 要与别名关联的密钥password - 保护密钥的密码chain - 相应公钥的证书链(只在给定密钥的类型为 java.security.PrivateKey 时需要)。

抛出:

KeyStoreException - 如果不能保护给定密钥,或此操作由于某些其他原因而失败

engineSetKeyEntry

public abstract void engineSetKeyEntry(String alias,

byte[] key,

Certificate[] chain)

throws KeyStoreException

将给定密钥(已经被保护)分配给给定别名。

如果被保护密钥的类型为 java.security.PrivateKey,则它必须附带证明相应公钥的证书链。

如果给定的别名已经存在,则与别名关联的 keystore 信息被给定的密钥(可能和证书链)重写。

参数:

alias - 别名key - 要与别名关联的密钥(以受保护格式)chain - 相应公钥的证书链(只在受保护密钥的类型为 java.security.PrivateKey 时有用)。

抛出:

KeyStoreException - 如果此操作失败。

engineSetCertificateEntry

public abstract void engineSetCertificateEntry(String alias,

Certificate cert)

throws KeyStoreException

将给定证书分配给给定别名。

如果给定的别名标识通过调用 setCertificateEntry 创建的现有项,或者标识通过调用使用 TrustedCertificateEntry 作为参数的 setEntry 创建的现有项,那么现有项中的可信证书被给定证书重写。

参数:

alias - 别名cert - 证书

抛出:

KeyStoreException - 如果给定别名已存在且不标识一个包含可信任证书的项,或此操作由于其他某些原因而失败。

engineDeleteEntry

public abstract void engineDeleteEntry(String alias)

throws KeyStoreException

删除由此 keystore 中给定的别名标识的项。

参数:

alias - 别名

抛出:

KeyStoreException - 如果该项不能被移除

engineAliases

public abstract Enumeration engineAliases()

列出此 keystore 的所有别名。

返回:

别名的枚举

engineContainsAlias

public abstract boolean engineContainsAlias(String alias)

检查给定别名是否存在于此 keystore 中。

参数:

alias - 别名

返回:

如果别名存在,则返回 true;否则,返回 false

engineSize

public abstract int engineSize()

获取此 keystore 中项的数目。

返回:

此 keystore 中的项的数目

engineIsKeyEntry

public abstract boolean engineIsKeyEntry(String alias)

如果给定别名标识的项是通过调用 setKeyEntry 或者调用使用 PrivateKeyEntry 或 SecretKeyEntry 作为参数的 setEntry 创建的,则返回 true。

参数:

alias - 要检查的 keystore 项的别名

返回:

如果给定别名标识的项与密钥相关,则返回 true;否则返回 false。

engineIsCertificateEntry

public abstract boolean engineIsCertificateEntry(String alias)

如果给定别名标识的项是通过调用 setCertificateEntry 或者调用使用 TrustedCertificateEntry 作为参数的 setEntry 来创建的,则返回 true。

参数:

alias - 要检查的 keystore 项的别名

返回:

如果给定别名标识的项包含一个可信证书,则返回 true;否则,返回 false。

engineGetCertificateAlias

public abstract String engineGetCertificateAlias(Certificate cert)

返回其证书和给定证书匹配的第一个 keystore 项的名称(别名)。

此方法试图将给定证书与每一个 keystore 项相匹配。如果将被考虑的项是通过调用 setCertificateEntry 或者调用使用 TrustedCertificateEntry 作为参数的 setEntry 创建的,则将给定证书与该项的证书进行比较。

如果将被考虑的项是通过调用 setKeyEntry 或者调用使用 PrivateKeyEntry 作为参数的 setEntry 创建的,则将给定证书与该项证书链的第一个元素进行比较。

参数:

cert - 要匹配的证书

返回:

带有匹配证书的第一个项的别名;如果在此 keystore 中没有此类项存在,则返回 null。

engineStore

public abstract void engineStore(OutputStream stream,

char[] password)

throws IOException,

NoSuchAlgorithmException,

CertificateException

将此 keystore 存储到给定输出流中,并用给定的密码保护其完整性。

参数:

stream - 要写入此 keystore 的输出流。password - 生成 keystore 完整性检验的密码

抛出:

IOException - 如果存在数据的 I/O 问题

NoSuchAlgorithmException - 如果不能找到恰当的数据完整性算法

CertificateException - 如果包含在 keystore 数据中的任何证书不能被存储

engineStore

public void engineStore(KeyStore.LoadStoreParameter param)

throws IOException,

NoSuchAlgorithmException,

CertificateException

使用给定的 KeyStore.LoadStoreParmeter 存储此 keystore。

参数:

param - 指出存储 keystore 的方式的 KeyStore.LoadStoreParmeter,可以为 null

抛出:

IllegalArgumentException - 如果给定的 KeyStore.LoadStoreParmeter 输入无法识别

IOException - 如果存在数据 I/O 问题

NoSuchAlgorithmException - 如果不能找到恰当的数据完整性算法

CertificateException - 如果 keystore 数据中的任何证书不能被存储

从以下版本开始:

1.5

engineLoad

public abstract void engineLoad(InputStream stream,

char[] password)

throws IOException,

NoSuchAlgorithmException,

CertificateException

从给定的输入流中加载此 KeyStore。

可能给出密码来解锁 keystore(例如驻留在硬件标记设备上的 keystore)或检验 keystore 数据的完整性。如果没有给出用于完整性检验的密码,那么就不会执行完整性检验。

参数:

stream - 从其加载 keystore 的输入流,或 nullpassword - 用来检验 keystore 完整性的密码,用来解锁 keystore 的密码,或 null

抛出:

IOException - 如果存在 keystore 数据的 I/O 或格式问题,如果需要密码却没有给出,或者给出的密码错误。如果错误是由于密码错误,则 IOException 的 cause 应该是一个 UnrecoverableKeyException

NoSuchAlgorithmException - 如果不能找到用来检验 keystore 完整性的算法

CertificateException - 如果不能加载 keystore 中的任何证书

engineLoad

public void engineLoad(KeyStore.LoadStoreParameter param)

throws IOException,

NoSuchAlgorithmException,

CertificateException

使用给定的 KeyStore.LoadStoreParameter 加载该 keystore。

注意,如果此 KeyStore 已经被加载,则它将再次从给定参数中被初始化和加载。

参数:

param - 指出加载 keystore 的方式的 KeyStore.LoadStoreParameter,可以为 null

抛出:

IllegalArgumentException - 如果给定的 KeyStore.LoadStoreParameter 输入无法识别

IOException - 如果存在 keystore 数据的 I/O 或格式问题。如果错误是由于 ProtectionParameter 不正确(如密码错误),则 IOException 的 cause 应该是一个 UnrecoverableKeyException

NoSuchAlgorithmException - 如果不能找到用来检验 keystore 完整性的算法

CertificateException - 如果不能加载 keystore 中的任何证书

从以下版本开始:

1.5

engineGetEntry

public KeyStore.Entry engineGetEntry(String alias,

KeyStore.ProtectionParameter protParam)

throws KeyStoreException,

NoSuchAlgorithmException,

UnrecoverableEntryException

使用指定保护参数获取指定别名的 KeyStore.Entry。

参数:

alias - 获取此别名的 KeyStore.EntryprotParam - 用来保护 Entry 的 ProtectionParameter,可以为 null

返回:

指定别名的 KeyStore.Entry;如果不存在这样的项,则返回 null

抛出:

KeyStoreException - 如果操作失败

NoSuchAlgorithmException - 如果不能找到恢复项的算法

UnrecoverableEntryException - 如果指定的 protParam 不足或无效

UnrecoverableKeyException - 如果该项是 PrivateKeyEntry 或 SecretKeyEntry 并且指定的 protParam 不包含恢复密钥所需的信息(如密码错误)

从以下版本开始:

1.5

engineSetEntry

public void engineSetEntry(String alias,

KeyStore.Entry entry,

KeyStore.ProtectionParameter protParam)

throws KeyStoreException

用指定别名保存 KeyStore.Entry。指定的保护参数用来保护 Entry。

如果指定别名的项已经存在,它将被重写。

参数:

alias - 以此别名保存 KeyStore.Entryentry - 要保存的 EntryprotParam - 用来保护 Entry 的 ProtectionParameter,可以为 null

抛出:

KeyStoreException - 如果此操作失败

从以下版本开始:

1.5

engineEntryInstanceOf

public boolean engineEntryInstanceOf(String alias,

Class extends KeyStore.Entry> entryClass)

确定指定 alias 的 keystore Entry 是否是指定 entryClass 的实例或子类。

参数:

alias - 别名entryClass - 项的类

返回:

如果指定 alias 的 keystore Entry 是指定 entryClass 的实例或子类,则返回 true;否则返回 false。

从以下版本开始:

1.5

概述

软件包

使用

已过时

索引

帮助

JavaTM 2 Platform

Standard Ed. 6

上一个类

下一个类

框架

无框架

摘要: 嵌套 | 字段 | 构造方法 | 方法

详细信息: 字段 | 构造方法 | 方法

提交错误或意见

有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。

java keystore php,KeyStoreSpi相关推荐

  1. java keystore ca_PKCS12 Java Keystore from CA and User certificate in java

    问题 I've recently been put in charge of mocking up an Apple product (iPhone Configuration Utility) in ...

  2. JAVA keystore

    Java签名/证书机制 java签名/证书机制,可以保障使用者,安全地调用外部提供的jar,防止你信任的jar被篡改. 首先,java的签名,必须是基于jar包的.也就是说,你必须将你要提供的clas ...

  3. Java Keystore教程

    目录 1.简介 2. SSL及其工作方式 3.私钥 4.公开证书 5.根证书 6.证书颁发机构 7.证书链 8.使用Java keytool的密钥库 9.密钥库命令 10.在Apache Tomcat ...

  4. java keystore pkcs12_Java密钥库的不同类型 -- PKCS12

    Different types of keystore in Java -- PKCS12 Java密钥库的不同类型 -- PKCS12 JKCS12 is an active file format ...

  5. java keystore 私钥,从Java Keystore文件中提取私钥、证书

    Keystore是一个密码保护的文件,存放私钥和证书.可以通过JDK自带的keytool工具生成. 但是keytool工具,并没有提供方便的方法,从keystore文件中到处私钥和证书. 所以可以通过 ...

  6. .jks文件(JAVA KeyStore)

    jks是Java密钥库(KeyStore)比较常见的一种格式(我所知道的共有5种,JKS, JCEKS, PKCS12, BKS,UBER),是JAVA的keytools证书工具支持的证书私钥格式. ...

  7. java keystore如何使用_java KeyStore 使用

    public class KeyStore extends Object 此类表示密钥和证书的存储设施. KeyStore管理不同类型的条目.每种类型的条目都实现KeyStore.Entry接口.提供 ...

  8. java keystore生成,探讨如何生成keystore

    原标题:探讨如何生成keystore 什么是keystore Keytool是一个Java数据证书的管理工具 ,Keytool将密钥(key)和证书(certificates)存在一个称为keysto ...

  9. java keystore ca_简述keystore是什么?

    Keytool是一个Java数据证书的管理工具 ,Keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中. 在keystore里,包含两种数据: 密钥实体 ...

  10. java keystore签名_对自己的文件使用keystore签名

    keytool 对jar包签名步骤: 1.将程序打成jar包. 2.生成keystore数字证书 keytool -genkey -keystore xxx.keystore -alias xxx - ...

最新文章

  1. el-table中设置max-height属性使其固定表头
  2. 从未加入域的计算机上使用Windows验证方式访问SQL Server
  3. 转:C#数据结构和算法学习系列十三----链表
  4. [ZT]介绍 10 款非主流的 Web 浏览器
  5. 人工智能AI实战100讲(七)-原理+代码实战 | 双目视觉中的极线校正
  6. 开源呼叫中心软件 GOautodial 存在两个漏洞,可导致RCE
  7. 算法:判断树是否相同100. Same Tree
  8. Jquery提交表单(通过添加button的click事件)
  9. 【离散数学】 MIT 6.042J 笔记 - Lecture 1 Introductions and Proofs
  10. 【SQL2008】select TOP (100) PERCENT***********ORDER BY **********
  11. 磨金石教育摄影干货分享|风光摄影后期教程:冷色调变暖色调
  12. 【时间之外】浏览器分屏使用技巧
  13. python爬虫之入门级实战实例(东方财富人气top100、汉服荟视频下载)
  14. linux 添加用户、权限
  15. cesium CLAMP_TO_GROUND 报错 Cannot read property ‘globe‘ of undefined
  16. ACM在线评测系统 各大高校的ACM在线测评系统
  17. html网页自动铺满屏幕,HTML+CSS入门 高度如何铺满全屏
  18. 燕麦云视角:物联网安全,网络安全的杀手锏?
  19. FPGA----ZCU106基于axi-hp通道的pl与ps数据交互(全网唯一最详)
  20. 坐标移动c语言,C语言 坐标移动详解及实例代码

热门文章

  1. excel随机数公式c语言,【详解】2个Excel随机数函数公式 Excel快速生成随机数据函数使用方法...
  2. LFS详细搭建指南——适合初学者使用
  3. 在iphone机型上,input实时中文搜索时,拼音会不断触发onchange的解决方案
  4. 服务器光纤信号灯lan,光纤猫光信号灯不亮怎么办 光纤猫光信号灯不亮解决方法...
  5. 苹果蓝牙耳机平替哪个好用?商务通话蓝牙耳机推荐
  6. Replugin源码及原理深度剖析--唯一Hook点原理
  7. 自组织特征图(SOFM)详解
  8. python基于朴素贝叶斯算法实现新闻分类
  9. 【采用】金融知识图谱技术与银行业应用研究
  10. 如何查找一篇论文的源代码