此方法用于返回“SUN”加密服务提供程序的主文件中的专有属性的值,以确定如何解析特定于算法的参数。
返回一组字符串,其中包含指定Java加密服务的所有可用算法或类型的名称(例如,Signature,MessageDigest,Cipher,Mac,KeyStore)。
获取安全属性值。
返回使用指定名称安装的提供程序(如果有)。
返回包含所有已安装提供程序的数组。
返回包含满足指定选择条件的所有已安装提供程序的数组,如果尚未安装此类提供程序,则返回null。
返回包含满足指定选择条件的所有已安装提供程序的数组,如果尚未安装此类提供程序,则返回null。
在指定位置添加新提供程序。
删除具有指定名称的提供程序。
设置安全属性值。
获取算法的指定属性。
算法名称应为标准名称。
一种可能的用途是通过专门的算法解析器,它可以将类映射到他们理解的算法(很像Key解析器那样)。
在指定位置添加新提供程序。
位置是搜索提供程序所请求的算法的首选顺序。
该位置是从1开始的,即1是最优选的,后跟2,依此类推。
如果给定的提供者安装在请求的位置,则过去位于该位置的提供者以及位置大于position所有提供者将向上移动一个位置(朝向已安装的提供者列表的末尾)。
如果已安装提供程序,则无法添加该提供程序。
如果有安全管理器,则使用"insertProvider"权限目标名称调用SecurityManager.checkSecurityAccess(java.lang.String)方法,以查看是否可以添加新提供程序。 如果拒绝此权限检查, checkSecurityAccess再次使用"insertProvider."+provider.getName()权限目标名称调用"insertProvider."+provider.getName() 。 如果两个检查都被拒绝,则抛出SecurityException 。
将提供者添加到下一个可用位置。
如果有安全管理器,则使用"insertProvider"权限目标名称调用SecurityManager.checkSecurityAccess(java.lang.String)方法,以查看是否可以添加新提供程序。 如果拒绝此权限检查, checkSecurityAccess再次使用"insertProvider."+provider.getName()权限目标名称调用"insertProvider."+provider.getName() 。 如果两个检查都被拒绝,则抛出SecurityException 。
删除具有指定名称的提供程序。
删除指定的提供程序后,位于大于指定提供程序所在位置的所有提供程序将向下移动一个位置(朝向已安装提供程序列表的头部)。
如果未安装提供程序或name为null,则此方法将以静默方式返回。
首先,如果有安全管理器,则使用字符串"removeProvider."+name调用其checkSecurityAccess方法,以查看是否可以删除提供程序。 如果使用默认实现checkSecurityAccess (即,该方法未被覆盖),则这将导致使用SecurityPermission("removeProvider."+name)权限调用安全管理器的checkPermission方法。
返回包含所有已安装提供程序的数组。
数组中提供程序的顺序是它们的首选顺序。
返回使用指定名称安装的提供程序(如果有)。
如果未安装具有指定名称的提供程序或name为null,则返回null。
返回包含满足指定选择条件的所有已安装提供程序的数组,如果尚未安装此类提供程序,则返回null。
加密服务始终与特定算法或类型相关联。 例如,数字签名服务总是与特定算法(例如,DSA)相关联,并且CertificateFactory服务总是与特定证书类型(例如,X.509)相关联。
必须使用以下两种格式之一指定选择标准:
加密服务名称不得包含任何点。
如果提供程序为指定的加密服务实现指定的算法或类型,则提供程序满足指定的选择标准。
例如,为X.509证书提供CertificateFactory实现的任何提供程序都将满足“CertificateFactory.X.509”。
。:
加密服务名称不得包含任何点。 和之间必须有一个或多个空格字符。
如果提供程序为指定的加密服务实现指定的算法或类型,并且其实现满足由指定的属性名称/值对表示的约束,则提供程序满足此选择标准。
例如,任何实现SHA1withDSA签名算法且密钥大小为1024(或更大)的提供商都会满足“Signature.SHA1withDSA KeySize:1024”。
返回包含满足指定选择条件的所有已安装提供程序的数组,如果尚未安装此类提供程序,则返回null。
选择标准由地图表示。 每个映射条目表示选择标准。 如果提供者满足所有选择标准,则选择提供者。 此类映射中任何条目的键必须采用以下两种格式之一:
加密服务名称不得包含任何点。
与键关联的值必须为空字符串。
如果提供程序为指定的加密服务实现指定的算法或类型,则提供程序满足此选择标准。
。
加密服务名称不得包含任何点。 和之间必须有一个或多个空格字符。
与键关联的值必须是非空字符串。 如果提供程序为指定的加密服务实现指定的算法或类型,并且其实现满足由指定的属性名称/值对表示的约束,则提供程序满足此选择标准。
获取安全属性值。
首先,如果有安全管理器,则调用其checkPermission方法并获得java.security.SecurityPermission("getProperty."+key)权限,以查看是否可以检索指定的安全属性值。
设置安全属性值。
首先,如果有安全管理器,则调用其checkPermission方法并获得java.security.SecurityPermission("setProperty."+key)权限,以查看是否可以设置指定的安全属性值。
返回一组字符串,其中包含指定Java加密服务的所有可用算法或类型的名称(例如,Signature,MessageDigest,Cipher,Mac,KeyStore)。
如果没有支持指定服务的提供程序或serviceName为null,则返回空Set。
注意:返回的集合是不可变的。
变量和类型
方法
描述
static int
将提供者添加到下一个可用位置。
static String
已过时。
此方法用于返回“SUN”加密服务提供程序的主文件中的专有属性的值,以确定如何解析特定于算法的参数。
返回一组字符串,其中包含指定Java加密服务的所有可用算法或类型的名称(例如,Signature,MessageDigest,Cipher,Mac,KeyStore)。
返回使用指定名称安装的提供程序(如果有)。
static Provider[]
返回包含所有已安装提供程序的数组。
static Provider[]
返回包含满足指定选择条件的所有已安装提供程序的数组,如果尚未安装此类提供程序,则返回null。
static Provider[]
返回包含满足指定选择条件的所有已安装提供程序的数组,如果尚未安装此类提供程序,则返回null。
static int
Provider provider, int position)
在指定位置添加新提供程序。
static void
删除具有指定名称的提供程序。
static void
设置安全属性值。