Provider 的 getService() 方法在 Java 中
可以通过使用 java.security.Provider 类中的 getService() 方法来获取可以通过算法来描述特定 Provider 实现的服务。此方法需要两个参数,即必需的服务类型和必需服务算法名称。
下面给出一个简单的示例 −
示例
import java.security.*;
import java.util.*;
public class Demo {
public static void main(String[] argv) throws Exception {
try {
Signature sign = Signature.getInstance("SHA256withDSA");
Provider p = sign.getProvider();
Provider.Service s = p.getService("Signature", sign.getAlgorithm());
System.out.println("The Service for the Provider is: " + s);
} catch (NoSuchAlgorithmException e) {
System.out.println("Error!!! NoSuchAlgorithmException");
}
}
}输出
The Service for the Provider is: SUN: Signature.SHA256withDSA -> sun.security.provider.DSA$SHA256withDSA
aliases: [OID.2.16.840.1.101.3.4.3.2, 2.16.840.1.101.3.4.3.2]
attributes: {KeySize=2048, SupportedKeyClasses=java.security.interfaces.DSAPublicKey|java.security.interfaces.DSAPrivateKey}下面让我们了解一下上述程序。
getService() 方法用来获取可以通过算法来描述特定 Provider 实现的服务。然后,显示此服务。如果算法名称错误,则会抛出 NoSuchAlgorithmException 异常。下面给出一个演示代码段 −
try {
Signature sign = Signature.getInstance("SHA256withDSA");
Provider p = sign.getProvider();
Provider.Service s = p.getService("Signature", sign.getAlgorithm());
System.out.println("The Service for the Provider is: " + s);
} catch (NoSuchAlgorithmException e) {
System.out.println("Error!!! NoSuchAlgorithmException");
}
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 程序设计
C++
C#
MongoDB
MySQL
Javascript
PHP