使用算法显示所有 JAC 安全提供程序及其服务类型



我想创建一个简单的java代码,显示所有安全提供程序:

  • 名字
  • 信息
  • 服务类型
  • 算法

主要活动.java

import java.io.ObjectInputStream.GetField;
import java.security.Provider;
import java.security.Provider.Service;
import java.security.Security;
public class MainActivity {
    public static void main(String[] args) {
        System.out.println("Availble Providers are:");
        Provider[] providerList = Security.getProviders();
        for (int i = 0; i < providerList.length; i++) {
            System.out.println("[" + (i + 1) + "] - Name: "
                    + providerList[i].getName());
            System.out.println("Information:n" + providerList[i].getInfo());
            System.out
                    .print("Here are all providers with types of service and algorithm provided:n");
        }
        
        for (int i = 0; i < serviceList.length; i++) {
            System.out.println("- Name: " + providerList[i].getName() + "n");
            System.out.print("Service Type: " + serviceList[i].getType()
                    + "Algorithm: " + serviceList[i].getAlgorithm());
        }
    }
}

在第二个 for 循环之前,我需要初始化服务以便能够调用服务类型和算法。

您需要

第二个循环位于第一个循环内,因为您需要当前提供程序,以便可以调用其getServices方法。像这样:

import java.security.Provider;
import java.security.Provider.Service;
import java.security.Security;
import java.util.Set;
public class MainActivity
{
  public static void main(String[] args)
  {
    Provider [] providerList = Security.getProviders();
    for (Provider provider : providerList)
     {
       System.out.println("Name: "  + provider.getName());
       System.out.println("Information:n" + provider.getInfo());
       Set<Service> serviceList = provider.getServices();
       for (Service service : serviceList)
        {
          System.out.println("Service Type: " + service.getType() + " Algorithm " + service.getAlgorithm());
        }
     }
  }
}

相关内容

最新更新