|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.security
类 Provider
java.lang.Object java.util.Dictionary<K,V> java.util.Hashtable<Object,Object> java.util.Properties java.security.Provider
- 所有已实现的接口:
- Serializable, Cloneable, Map<Object,Object>
- 直接已知子类:
- AuthProvider
-
public abstract class Provider
- extends Properties
此类表示 Java 安全 API "provider",这里 provider 实现了 Java 安全性的一部分或者全部。provider 可能实现的服务包括:
- 算法(如 DSA、RSA、MD5 或 SHA-1)。
- 密钥的生成、转换和管理设施(如用于特定于算法的密钥)。
每个 provider 有一个名称和一个版本号,并且在每个它装入运行时中进行配置。
有关特定类型的 provider、加密服务 provider 如何工作和安装的信息,请参阅 "Java Cryptography Architecture API Specification & Reference" 中的 The Provider Class。但是,请注意 provider 能够被用来实现 Java 中的任何安全服务,这些安全服务使用带有适合下层的实现选择的可插入架构。
某些 provider 的实现在操作时可能遇到不可恢复的内部错误,例如与安全性令牌通信的错误。应该使用 ProviderException
指示此类错误。
服务类型 Provider
留给安全框架使用。此类型的服务不能被应用程序添加、移除或修改。以下属性自动放置在每个 Provider 对象中:
名称 | 值 |
---|---|
Provider.id name |
String.valueOf(provider.getName()) |
Provider.id version |
String.valueOf(provider.getVersion()) |
Provider.id info |
String.valueOf(provider.getInfo()) |
Provider.id className |
provider.getClass().getName() |
- 另请参见:
- 序列化表格
嵌套类摘要 | |
---|---|
static class |
Provider.Service 安全服务的描述。 |
字段摘要 |
---|
从类 java.util.Properties 继承的字段 |
---|
defaults |
构造方法摘要 | |
---|---|
protected |
Provider(String name, double version, String info) 用指定的名称、版本号和信息构造一个 provider。 |
方法摘要 | |
---|---|
void |
clear() 清除此 provider,使其不再包含用来查找由该 provider 实现的设施的属性。 |
Set<Map.Entry<Object,Object>> |
entrySet() 返回此 Provider 中所包含的属性项的一个不可修改的 Set 视图。 |
String |
getInfo() 返回 provider 及其服务的人可读 (human-readable) 的描述。 |
String |
getName() 返回此 provider 的名称。 |
Provider.Service |
getService(String type, String algorithm) 获取描述此算法或别名的指定类型的此 Provider 实现的服务。 |
Set<Provider.Service> |
getServices() 获取此 Provider 支持的所有服务的一个不可修改的 Set。 |
double |
getVersion() 返回此 provider 的版本号。 |
Set<Object> |
keySet() 返回此 provider 中所包含的属性键的一个不可修改的 Set 视图。 |
void |
load(InputStream inStream) 从输入流中读取属性列表(键和元素对)。 |
Object |
put(Object key, Object value) 设置 key 属性,使其具有指定的 value 。 |
void |
putAll(Map<?,?> t) 将指定 Map 中所有映射关系复制到此 provider 中。 |
protected void |
putService(Provider.Service s) 添加服务。 |
Object |
remove(Object key) 移除 key 属性(及其相应的 value )。 |
protected void |
removeService(Provider.Service s) 移除以前用 putService() 添加的服务。 |
String |
toString() 返回具有此 provider 名称和版本号的字符串。 |
Collection<Object> |
values() 返回此 provider 中所包含的属性值的一个不可修改的 Collection 视图。 |
从类 java.util.Properties 继承的方法 |
---|
getProperty, getProperty, list, list, loadFromXML, propertyNames, save, setProperty, store, storeToXML, storeToXML |
从类 java.util.Hashtable 继承的方法 |
---|
clone, contains, containsKey, containsValue, elements, equals, get, hashCode, isEmpty, keys, rehash, size |
从类 java.lang.Object 继承的方法 |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
Provider
protected Provider(String name, double version, String info)
-
用指定的名称、版本号和信息构造一个 provider。
- 参数:
-
name
- provider 的名称。 -
version
- provider 的版本号。 -
info
- provider 及其服务的描述。
方法详细信息 |
---|
getName
public String getName()
- 返回此 provider 的名称。
-
- 返回:
- 此 provider 的名称。
getVersion
public double getVersion()
- 返回此 provider 的版本号。
-
- 返回:
- 此 provider 的版本号。
getInfo
public String getInfo()
- 返回 provider 及其服务的人可读 (human-readable) 的描述。此方法可能返回带有相关链接的 HTML 页面。
-
- 返回:
- provider 及其服务的描述。
toString
public String toString()
clear
public void clear()
-
清除此 provider,使其不再包含用来查找由该 provider 实现的设施的属性。
首先,如果存在安全管理器,则用字符串
"clearProviderProperties."+name
(其中name
是 provider 的名称)作为参数值调用其checkSecurityAccess
方法,以查看是否能够清除此 provider。如果使用checkSecurityAccess
的默认实现(即未重写此方法),则会导致使用SecurityPermission("clearProviderProperties."+name)
权限来调用安全管理器的checkPermission
方法。 -
- 抛出:
-
SecurityException
- 如果存在安全管理器,且其{
方法拒绝清除此 providerSecurityManager.checkSecurityAccess(java.lang.String)
- 从以下版本开始:
- 1.2
load
public void load(InputStream inStream) throws IOException
- 从输入流中读取属性列表(键和元素对)。
-
- 覆盖:
-
类
Properties
中的load
-
- 参数:
-
inStream
- 输入流。 - 抛出:
-
IOException
- 如果读取输入流时发生错误。 - 另请参见:
-
Properties.load(java.io.InputStream)
putAll
public void putAll(Map<?,?> t)