Constructor and Description |
---|
KeyStoreSpi() |
Modifier and Type | Method and Description |
---|---|
abstract Enumeration<String> |
engineAliases()
列出此密钥库的所有别名。
|
abstract boolean |
engineContainsAlias(String alias)
检查此密钥库中是否存在给定的别名。
|
abstract void |
engineDeleteEntry(String alias)
从此密钥库中删除由给定别名标识的条目。
|
boolean |
engineEntryInstanceOf(String alias, 类<? extends KeyStore.Entry> entryClass)
确定密钥库
Entry 为指定
alias 是指定的一个实例或亚类
entryClass 。
|
abstract Certificate |
engineGetCertificate(String alias)
返回与给定别名相关联的证书。
|
abstract String |
engineGetCertificateAlias(Certificate cert)
返回其证书与给定证书匹配的第一个密钥库条目的(别名)名称。
|
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 创建的,或通过调用
setEntry 与
TrustedCertificateEntry 创建的条目,则返回true。
|
abstract boolean |
engineIsKeyEntry(String alias)
如果由给定别名标识的条目是通过调用
setKeyEntry 创建的,或通过调用
setEntry 与
PrivateKeyEntry 或
SecretKeyEntry 创建的条目,则返回true。
|
abstract void |
engineLoad(InputStream stream, char[] password)
从给定的输入流加载密钥库。
|
void |
engineLoad(KeyStore.LoadStoreParameter param)
使用给定的
KeyStore.LoadStoreParameter 加载密钥库。
|
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()
检索此密钥库中的条目数。
|
void |
engineStore(KeyStore.LoadStoreParameter param)
使用给定的
KeyStore.LoadStoreParmeter 存储此密钥库。
|
abstract void |
engineStore(OutputStream stream, char[] password)
将此密钥库存储到给定的输出流,并使用给定的密码保护其完整性。
|
public abstract Key engineGetKey(String alias, char[] password) throws NoSuchAlgorithmException, UnrecoverableKeyException
setKeyEntry
或通过调用setEntry
与PrivateKeyEntry
或SecretKeyEntry
与PrivateKeyEntry
SecretKeyEntry
。
alias
- 别名
password
- 恢复密钥的密码
NoSuchAlgorithmException
- 如果无法找到恢复密钥的算法
UnrecoverableKeyException
- 如果密钥无法恢复(例如,给定的密码错误)。
public abstract Certificate[] engineGetCertificateChain(String alias)
setKeyEntry
或通过调用setEntry
与setEntry
与PrivateKeyEntry
。
alias
- 别名
public abstract Certificate engineGetCertificate(String alias)
如果给定的别名标识通过调用创建一个条目setCertificateEntry
,或创建一个呼叫setEntry
与TrustedCertificateEntry
,则包含在该条目中的可信证书被返回。
如果给定的别名标识通过一个调用创建一个条目setKeyEntry
,或创建通过调用setEntry
与PrivateKeyEntry
,则该条目中的证书链的第一个元素(如果存在链)被返回。
alias
- 别名
public abstract Date engineGetCreationDate(String alias)
alias
- 别名
public abstract void engineSetKeyEntry(String alias, Key key, char[] password, Certificate[] chain) throws KeyStoreException
如果给定的密钥是类型java.security.PrivateKey
,它必须附有证明相关公钥的证书链。
如果给定的别名已经存在,与它相关联的密钥库信息将被给定的密钥(也可能是证书链)覆盖。
alias
- 别名
key
- 与别名
key
的关键
password
- 保护密码的密码
chain
- 相应公钥的证书链(仅当给定密钥为
java.security.PrivateKey
类型
java.security.PrivateKey
)。
KeyStoreException
- 如果给定的键不能被保护,或者这个操作因某些其他原因而失败
public abstract void engineSetKeyEntry(String alias, byte[] key, Certificate[] chain) throws KeyStoreException
如果受保护的密钥类型为java.security.PrivateKey
,则必须附有证书链,证明相应的公钥。
如果给定的别名已经存在,与它相关联的密钥库信息将被给定的密钥(也可能是证书链)覆盖。
alias
- 别名
key
- 与别名
key
的关键字(以受保护的格式)
chain
- 相应公钥的证书链(仅当受保护的密钥为
java.security.PrivateKey
类型
java.security.PrivateKey
)。
KeyStoreException
- 如果此操作失败。
public abstract void engineSetCertificateEntry(String alias, Certificate cert) throws KeyStoreException
如果给定的别名标识通过调用setCertificateEntry
创建的现有条目,或通过调用setEntry
与TrustedCertificateEntry
,则现有条目中的受信任证书将被给定的证书覆盖。
alias
- 别名
cert
- 证书
KeyStoreException
- 如果给定的别名已经存在,并且不标识包含受信任证书的条目,或者由于其他原因导致此操作失败。
public abstract void engineDeleteEntry(String alias) throws KeyStoreException
alias
- 别名
KeyStoreException
- 如果条目无法删除。
public abstract Enumeration<String> engineAliases()
public abstract boolean engineContainsAlias(String alias)
alias
- 别名
public abstract int engineSize()
public abstract boolean engineIsKeyEntry(String alias)
setKeyEntry
创建的,或通过调用
setEntry
与
PrivateKeyEntry
或
SecretKeyEntry
创建的条目,则返回true。
alias
- 要检查密钥库条目的别名
public abstract boolean engineIsCertificateEntry(String alias)
setCertificateEntry
创建的,或通过调用
setEntry
与
TrustedCertificateEntry
创建的条目,则返回true。
alias
- 要检查密钥库条目的别名
public abstract String engineGetCertificateAlias(Certificate cert)
此方法尝试将给定证书与每个密钥库条目相匹配。 如果考虑的条目是通过调用setCertificateEntry
创建的,或通过调用setEntry
与TrustedCertificateEntry
,则将给定的证书与该条目的证书进行比较。
如果考虑的条目是通过调用setKeyEntry
创建的,或通过调用setEntry
与PrivateKeyEntry
,则将给定的证书与该条目的证书链的第一个元素进行比较。
cert
- 证书匹配。
public abstract void engineStore(OutputStream stream, char[] password) throws IOException, NoSuchAlgorithmException, CertificateException
stream
- 写入此密钥库的输出流。
password
- 生成密钥库完整性检查的密码
IOException
- 如果数据存在I / O问题
NoSuchAlgorithmException
- 如果找不到适当的数据完整性算法
CertificateException
- 如果密码库数据中包含的任何证书无法存储
public void engineStore(KeyStore.LoadStoreParameter param) throws IOException, NoSuchAlgorithmException, CertificateException
KeyStore.LoadStoreParmeter
存储此密钥库。
param
-在
KeyStore.LoadStoreParmeter
指定如何存储密钥库,这可能是
null
IllegalArgumentException
- 如果给定的
KeyStore.LoadStoreParmeter
输入未被识别
IOException
- 数据是否存在I / O问题
NoSuchAlgorithmException
- 如果找不到适当的数据完整性算法
CertificateException
- 如果密钥库数据中包含的任何证书无法存储
public abstract void engineLoad(InputStream stream, char[] password) throws IOException, NoSuchAlgorithmException, CertificateException
可以提供密码来解锁密钥库(例如,密钥库驻留在硬件令牌设备上),或者检查密钥库数据的完整性。 如果没有为完整性检查提供密码,则不执行完整性检查。
stream
- 加载密钥库的输入流,或
null
password
- 用于检查密钥库完整性的密码,用于解锁密钥库的密码,或
null
IOException
- 如果密钥库数据存在I / O或格式问题,如果需要密码但未提供密码,或者给定的密码不正确。
如果错误是由于错误的密码, IOException的IOException
应该是一个UnrecoverableKeyException
NoSuchAlgorithmException
- 如果用于检查密钥库完整性的算法无法找到
CertificateException
- 如果密钥库中的任何证书无法加载
public void engineLoad(KeyStore.LoadStoreParameter param) throws IOException, NoSuchAlgorithmException, CertificateException
KeyStore.LoadStoreParameter
加载密钥库。
请注意,如果此KeyStore已经加载,它将从给定的参数重新初始化并重新加载。
param
-所述
KeyStore.LoadStoreParameter
指定如何加载密钥库,其可以是
null
IllegalArgumentException
- 如果给定的
KeyStore.LoadStoreParameter
输入未被识别
IOException
- 如果存在密钥库数据的I / O或格式问题。
如果错误是由于ProtectionParameter
(例如错误的密码) 造成的, IOException
应该是UnrecoverableKeyException
NoSuchAlgorithmException
- 如果用于检查密钥库的完整性的算法无法找到
CertificateException
- 如果密钥库中的任何证书无法加载
public KeyStore.Entry engineGetEntry(String alias, KeyStore.ProtectionParameter protParam) throws KeyStoreException, NoSuchAlgorithmException, UnrecoverableEntryException
KeyStore.Entry
的指定别名的KeyStore.Entry。
alias
- 获取此别名的
KeyStore.Entry
protParam
-
ProtectionParameter
用于保护
Entry
,可能是
null
KeyStore.Entry
为指定的别名,或
null
如果没有这样的条目
KeyStoreException
- 如果操作失败
NoSuchAlgorithmException
- 如果无法找到恢复条目的算法
UnrecoverableEntryException
- 如果指定的
protParam
不足或无效
UnrecoverableKeyException
- 如果条目是
PrivateKeyEntry
或
SecretKeyEntry
,并且指定的
protParam
不包含恢复密钥所需的信息(例如错误的密码)
public void engineSetEntry(String alias, KeyStore.Entry entry, KeyStore.ProtectionParameter protParam) throws KeyStoreException
KeyStore.Entry
用指定别名。
指定的保护参数用于保护Entry
。
如果指定别名的条目已存在,则会被覆盖。
alias
- 保存此别名下的
KeyStore.Entry
entry
- 要保存的
Entry
protParam
-
ProtectionParameter
用于保护
Entry
,其中可能是
null
KeyStoreException
- 如果此操作失败
public boolean engineEntryInstanceOf(String alias, 类<? extends KeyStore.Entry> entryClass)
Entry
为指定
alias
是指定的一个实例或亚类
entryClass
。
alias
- 别名
entryClass
- 入门课
Entry
指定的
alias
是一个实例或指定的子类
entryClass
,否则为false