JavaTM 2 Platform
Standard Ed. 5.0

类 java.security.Provider
的使用

使用 Provider 的软件包
java.security 为安全框架提供类和接口。 
java.security.cert 提供用于解析和管理证书、证书撤消列表 (CRL) 和证书路径的类和接口。 
javax.crypto 为 cryptographic(加密)操作提供类和接口。 
javax.net.ssl 提供用于安全套接字包的类。 
org.ietf.jgss 此包提供一个框架,该框架允许应用程序开发人员通过利用统一的 API 使用一些来自各种基础安全机制(如 Kerberos)的安全服务,如身份验证、数据完整性和和数据机密性。 
 

java.securityProvider 的使用
 

java.securityProvider 的子类
 class AuthProvider
          此类定义 provider 的登录和注销方法。
 

返回 Providerjava.security 中的方法
 Provider Provider.Service.getProvider()
          返回此服务的 Provider。
 Provider MessageDigest.getProvider()
          返回此信息摘要对象的提供程序。
 Provider Signature.getProvider()
          返回此签名对象的提供程序。
 Provider AlgorithmParameters.getProvider()
          返回此参数对象的 provider。
 Provider SecureRandom.getProvider()
          返回此 SecureRandom 对象的提供程序。
 Provider KeyStore.getProvider()
          返回此 keystore 的 provider。
 Provider KeyPairGenerator.getProvider()
          返回此密钥对生成器的提供程序。
 Provider KeyFactory.getProvider()
          返回此密钥工厂对象的提供程序。
 Provider AlgorithmParameterGenerator.getProvider()
          返回此算法参数生成器对象的 provider。
static Provider Security.getProvider(String name)
          返回使用指定的名称安装的提供程序(如果有)。
static Provider[] Security.getProviders()
          返回包含所有已安装的提供程序的数组。
static Provider[] Security.getProviders(Map<String,String> filter)
          返回包含可以满足指定的 * 选择标准的所有已安装的提供程序的数组,如果尚未安装此类提供程序,则返回 null。
static Provider[] Security.getProviders(String filter)
          返回包含满足指定的选择标准的所有已安装的提供程序的数组,如果尚未安装此类提供程序,则返回 null。
 

参数类型为 Providerjava.security 中的方法
static int Security.addProvider(Provider provider)
          将提供程序添加到下一个可用位置。
static MessageDigest MessageDigest.getInstance(String algorithm, Provider provider)
          生成实现指定提供程序提供的指定算法的 MessageDigest 对象,如果该算法可从指定的提供程序得到的话。
static Signature Signature.getInstance(String algorithm, Provider provider)
          如果提供程序能够提供这样的算法,则将生成一个实现指定算法的 Signature 对象,作为指定提供程序提供的对象。
static AlgorithmParameters AlgorithmParameters.getInstance(String algorithm, Provider provider)
          如果可以从指定的 provider 中得到相关的算法,则为指定的算法(该 provider 提供)生成一个参数对象。
static SecureRandom SecureRandom.getInstance(String algorithm, Provider provider)
          如果提供程序能够提供此种 RNG 实现,则为指定的 RNG 算法(由指定的提供程序提供)生成 SecureRandom 对象。
static KeyStore KeyStore.getInstance(String type, Provider provider)
          生成指定 provider 中指定 keystore 类型的 keystore 对象。
static KeyPairGenerator KeyPairGenerator.getInstance(String algorithm, Provider provider)
          如果该可从指定的提供程序得到算法,则生成实现了该指定算法的 KeyPairGenerator 对象。
static KeyFactory KeyFactory.getInstance(String algorithm, Provider provider)
          为指定提供程序中的指定算法生成 KeyFactory 对象。
static AlgorithmParameterGenerator AlgorithmParameterGenerator.getInstance(String algorithm, Provider provider)
          如果可以从指定的 provider 中得到相关的参数生成器,则为所请求的算法(该 provider 提供)生成一个 AlgorithmParameterGenerator 对象。
static int Security.insertProviderAt(Provider provider, int position)
          在指定的位置添加新的提供程序。
static KeyStore.Builder KeyStore.Builder.newInstance(String type, Provider provider, File file, KeyStore.ProtectionParameter protection)
          返回新的 Builder 对象。
static KeyStore.Builder KeyStore.Builder.newInstance(String type, Provider provider, KeyStore.ProtectionParameter protection)
          返回新的 Builder 对象。
 

参数类型为 Providerjava.security 中的构造方法
AlgorithmParameterGenerator(AlgorithmParameterGeneratorSpi paramGenSpi, Provider provider, String algorithm)
          创建一个 AlgorithmParameterGenerator 对象。
AlgorithmParameters(AlgorithmParametersSpi paramSpi, Provider provider, String algorithm)
          创建一个 AlgorithmParameters 对象。
KeyFactory(KeyFactorySpi keyFacSpi, Provider provider, String algorithm)
          创建一个 KeyFactory 对象。
KeyStore(KeyStoreSpi keyStoreSpi, Provider provider, String type)
          创建给定类型的 KeyStore 对象,并在其中封装给定的 provider 实现(SPI 对象)。
Provider.Service(Provider provider, String type, String algorithm, String className, List<String> aliases, Map<String,String> attributes)
          构造新的服务。
SecureRandom(SecureRandomSpi secureRandomSpi, Provider provider)
          创建 SecureRandom 对象。
 

java.security.certProvider 的使用
 

返回 Providerjava.security.cert 中的方法
 Provider CertificateFactory.getProvider()
          返回此 CertificateFactory 的提供程序。
 Provider CertStore.getProvider()
          返回此 CertStore 的提供程序。
 Provider CertPathValidator.getProvider()
          返回此 CertPathValidatorProvider
 Provider CertPathBuilder.getProvider()
          返回此 CertPathBuilder 的提供程序。
 

参数类型为 Providerjava.security.cert 中的方法
static CertStore CertStore.getInstance(String type, CertStoreParameters params, Provider provider)
          返回一个实现指定 CertStore 类型(由指定的提供程序提供并使用指定参数初始化)的 CertStore 对象。
static CertificateFactory CertificateFactory.getInstance(String type, Provider provider)
          根据指定的提供程序生成一个指定证书类型的 CertificateFactory 对象。
static CertPathValidator CertPathValidator.getInstance(String algorithm, Provider provider)
          返回实现指定算法(由指定的提供程序提供)的 CertPathValidator 对象。
static CertPathBuilder CertPathBuilder.getInstance(String algorithm, Provider provider)
          返回实现了指定算法(由指定的提供程序提供)的 CertPathBuilder 对象。
 

参数类型为 Providerjava.security.cert 中的构造方法
CertificateFactory(CertificateFactorySpi certFacSpi, Provider provider, String type)
          创建给定类型的 CertificateFactory 对象,并在其中封装给定的提供程序实现(SPI 对象)。
CertPathBuilder(CertPathBuilderSpi builderSpi, Provider provider, String algorithm)
          创建一个给定算法的 CertPathBuilder 对象,并在其中封装给定的提供程序实现(SPI 对象)。
CertPathValidator(CertPathValidatorSpi validatorSpi, Provider provider, String algorithm)
          创建一个给定算法的 CertPathValidator 对象,并在其中封装给定的提供程序实现(SPI 对象)。
CertStore(CertStoreSpi storeSpi, Provider provider, String type, CertStoreParameters params)
          创建一个给定类型的 CertStore 对象,并在其中封装给定的提供程序实现(SPI 对象)。
 

javax.cryptoProvider 的使用
 

返回 Providerjavax.crypto 中的方法
 Provider SecretKeyFactory.getProvider()
          返回此 SecretKeyFactory 对象的提供程序。
 Provider Mac.getProvider()
          返回此 Mac 对象的提供程序。
 Provider KeyGenerator.getProvider()
          返回此 KeyGenerator 对象的提供程序。
 Provider KeyAgreement.getProvider()
          返回此 KeyAgreement 对象的提供程序。
 Provider ExemptionMechanism.getProvider()
          返回此 ExemptionMechanism 对象的提供程序。
 Provider Cipher.getProvider()
          返回此 Cipher 对象的提供程序。
 

参数类型为 Providerjavax.crypto 中的方法
static SecretKeyFactory SecretKeyFactory.getInstance(String algorithm, Provider provider)
          根据指定的提供程序生成指定秘密密钥算法的 SecretKeyFactory
static Mac Mac.getInstance(String algorithm, Provider provider)
          根据指定的提供程序生成指定 MAC 算法的 Mac 对象。
static KeyGenerator KeyGenerator.getInstance(String algorithm, Provider provider)
          为来自指定提供程序的指定密钥算法生成一个 KeyGenerator 对象。
static KeyAgreement KeyAgreement.getInstance(String algorithm, Provider provider)
          为来自指定提供程序的指定密钥一致算法生成一个 KeyAgreement 对象。
static ExemptionMechanism ExemptionMechanism.getInstance(String algorithm, Provider provider)
          根据指定的提供程序为指定的豁免机制算法生成 ExemptionMechanism 对象。
static Cipher Cipher.getInstance(String transformation, Provider provider)
          创建一个实现指定转换的 Cipher 对象,该转换由指定的提供程序提供。
 PKCS8EncodedKeySpec EncryptedPrivateKeyInfo.getKeySpec(Key decryptKey, Provider provider)
          将密封的 PKCS8EncodedKeySpec 对象从加密的数据中抽取出来并将其返回。
 

参数类型为 Providerjavax.crypto 中的构造方法
Cipher(CipherSpi cipherSpi, Provider provider, String transformation)
          创建 Cipher 对象。
ExemptionMechanism(ExemptionMechanismSpi exmechSpi, Provider provider, String mechanism)
          创建 ExemptionMechanism 对象。
KeyAgreement(KeyAgreementSpi keyAgreeSpi, Provider provider, String algorithm)
          创建一个 KeyAgreement 对象。
KeyGenerator(KeyGeneratorSpi keyGenSpi, Provider provider, String algorithm)
          创建一个 KeyGenerator 对象。
Mac(MacSpi macSpi, Provider provider, String algorithm)
          创建一个 MAC 对象。
SecretKeyFactory(SecretKeyFactorySpi keyFacSpi, Provider provider, String algorithm)
          创建一个 SecretKeyFactory 对象。
 

javax.net.sslProvider 的使用
 

返回 Providerjavax.net.ssl 中的方法
 Provider TrustManagerFactory.getProvider()
          返回此 TrustManagerFactory 对象的提供程序。
 Provider SSLContext.getProvider()
          返回此 SSLContext 对象的提供程序。
 Provider KeyManagerFactory.getProvider()
          返回此 KeyManagerFactory 对象的提供程序。
 

参数类型为 Providerjavax.net.ssl 中的方法
static TrustManagerFactory TrustManagerFactory.getInstance(String algorithm, Provider provider)
          根据指定的提供程序为指定的信任管理算法生成 TrustManagerFactory 对象。
static SSLContext SSLContext.getInstance(String protocol, Provider provider)
          根据指定提供程序生成实现指定安全套接字协议的 SSLContext 对象。
static KeyManagerFactory KeyManagerFactory.getInstance(String algorithm, Provider provider)
          根据指定的提供程序为指定的密钥管理算法生成 KeyManagerFactory 对象。
 

参数类型为 Providerjavax.net.ssl 中的构造方法
KeyManagerFactory(KeyManagerFactorySpi factorySpi, Provider provider, String algorithm)
          创建 KeyManagerFactory 对象。
SSLContext(SSLContextSpi contextSpi, Provider provider, String protocol)
          创建 SSLContext 对象。
TrustManagerFactory(TrustManagerFactorySpi factorySpi, Provider provider, String algorithm)
          创建 TrustManagerFactory 对象。
 

org.ietf.jgssProvider 的使用
 

参数类型为 Providerorg.ietf.jgss 中的方法
abstract  void GSSManager.addProviderAtEnd(Provider p, Oid mech)
          此方法用于向 GSSManager 指示,如果没有其他的提供程序支持指定的机制,则应用程序将使用特定的提供程序。
abstract  void GSSManager.addProviderAtFront(Provider p, Oid mech)
          此方法用来向 GSSManager 表示,当支持是指定的机制所需要的支持时,应用程序希望优先于其他所有提供程序使用特定的提供程序。
 


JavaTM 2 Platform
Standard Ed. 5.0

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

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