|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
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<String> |
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
- 如果给定别名已存在且不标识一个包含可信任证书的项,或此操作由于其他某些原因而失败。