java.security.Provider#getServices ( )源码实例Demo

下面列出了java.security.Provider#getServices ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: MediaSDK   文件: FileCache.java
private static MessageDigest findAlternativeMessageDigest() {
    if ("MD5".equals(hashAlgorithm)) {
        for (Provider provider : Security.getProviders()) {
            for (Provider.Service service : provider.getServices()) {
                hashAlgorithm = service.getAlgorithm();
                try {
                    MessageDigest messageDigest = MessageDigest.getInstance(hashAlgorithm);
                    if (messageDigest != null)
                        return messageDigest;
                } catch (NoSuchAlgorithmException ignored) {
                }
            }
        }
    }
    return null;
}
 
源代码2 项目: quarkus   文件: SecurityProcessor.java
/**
 * Determine the classes that make up the provider and its services
 *
 * @param providerName - JCA provider name
 * @return class names that make up the provider and its services
 */
private List<String> registerProvider(String providerName) {
    ArrayList<String> providerClasses = new ArrayList<>();
    Provider provider = Security.getProvider(providerName);
    providerClasses.add(provider.getClass().getName());
    Set<Provider.Service> services = provider.getServices();
    for (Provider.Service service : services) {
        String serviceClass = service.getClassName();
        providerClasses.add(serviceClass);
        // Need to pull in the key classes
        String supportedKeyClasses = service.getAttribute("SupportedKeyClasses");
        if (supportedKeyClasses != null) {
            String[] keyClasses = supportedKeyClasses.split("\\|");
            providerClasses.addAll(Arrays.asList(keyClasses));
        }
    }
    return providerClasses;
}
 
源代码3 项目: quarkus   文件: TestProcessor.java
@BuildStep
void registerSUNProvider(BuildProducer<ReflectiveClassBuildItem> classes) {
    Provider provider = Security.getProvider("SUN");
    ArrayList<String> providerClasses = new ArrayList<>();
    providerClasses.add(provider.getClass().getName());
    Set<Provider.Service> services = provider.getServices();
    for (Provider.Service service : services) {
        String serviceClass = service.getClassName();
        providerClasses.add(serviceClass);
        // Need to pull in the key classes
        String supportedKeyClasses = service.getAttribute("SupportedKeyClasses");
        if (supportedKeyClasses != null) {
            String[] keyClasses = supportedKeyClasses.split("\\|");
            providerClasses.addAll(Arrays.asList(keyClasses));
        }
    }
    for (String className : providerClasses) {
        classes.produce(new ReflectiveClassBuildItem(true, true, className));
        log.debugf("Register SUN.provider class: %s", className);
    }
}
 
源代码4 项目: quarkus   文件: DSAKeyUtil.java
public static void main(String[] args) throws Exception {
    Provider provider = Security.getProvider("SUN");
    System.out.println(provider.getInfo());
    for (Provider.Service service : provider.getServices()) {
        System.out.println(service);
    }

    KeyPairGenerator kpg = KeyPairGenerator.getInstance("DSA");
    kpg.initialize(2048);
    System.out.println("DSA.provider: " + kpg.getProvider());
    KeyFactory keyFactory = KeyFactory.getInstance("DSA");
    System.out.println("DSA.provider: " + keyFactory.getProvider());

    KeyPair pair = kpg.genKeyPair();
    DSAPublicKey publicKey = (DSAPublicKey) pair.getPublic();
    byte[] encoded = publicKey.getEncoded();
    X509EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(encoded);
    DSAPublicKey publicKey1 = (DSAPublicKey) keyFactory.generatePublic(publicKeySpec);
    System.out.printf("keys are equal: %s%n", publicKey1.equals(publicKey));

    String base64 = Base64.getEncoder().encodeToString(encoded);
    System.out.println(base64);
}
 
源代码5 项目: wildfly-camel   文件: ApnsUtils.java
public static String getAlgorithm() {
    List<String> keys = new LinkedList<>();
    List<String> trusts = new LinkedList<>();
    for (Provider p : Security.getProviders()) {
        if (p.getServices() != null) {
            for (Service s : p.getServices()) {
                if ("KeyManagerFactory".equals(s.getType()) && s.getAlgorithm().endsWith("509")) {
                    keys.add(s.getAlgorithm());
                } else if ("TrustManagerFactory".equals(s.getType()) && s.getAlgorithm().endsWith("509")) {
                    trusts.add(s.getAlgorithm());
                }
            }
        }
    }
    keys.retainAll(trusts);
    return keys.get(0);
}
 
源代码6 项目: netcdf-java   文件: TimeDigest.java
static private void testDigest() {
  try {
    MessageDigest md = MessageDigest.getInstance("MD5");
    Provider p = md.getProvider();
    Set<Provider.Service> services = p.getServices();
    for (Provider.Service service : services) {
      System.out.println("Service=" + service);
    }
  } catch (NoSuchAlgorithmException e) {
    e.printStackTrace(); // To change body of catch statement use File | Settings | File Templates.
  }
}
 
源代码7 项目: snowblossom   文件: ShowAlgo.java
public static void main(String args[])
{
  Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());

  Provider[] p_a = Security.getProviders();
  for(Provider p : p_a)
  {
    System.out.println("Provider: " + p.toString());
    System.out.println("-----------------------------------");
    for(Provider.Service ps : p.getServices())
    {
      System.out.println("  " + ps.toString());
    }
  }
}
 
源代码8 项目: MyBox   文件: SystemTools.java
public static void SignatureAlgorithms() {
    try {
        for (Provider provider : Security.getProviders()) {
            for (Provider.Service service : provider.getServices()) {
                if (service.getType().equals("Signature")) {
                    logger.debug(service.getAlgorithm());
                }
            }
        }
    } catch (Exception e) {
        logger.debug(e.toString());
    }
}
 
源代码9 项目: secure-tomcat-datasourcefactory   文件: Main.java
private static void listKeyGenerators(Queue<String> arguments) {
	for (Provider provider : Security.getProviders()) {
           for (Provider.Service service : provider.getServices()) {
               if (service.getType().equals("KeyGenerator")) {
               	System.out.println("Provider: " + provider.getName() + "  Algorithm: " + service.getAlgorithm());
               }
           }
       }
}
 
源代码10 项目: secure-tomcat-datasourcefactory   文件: Main.java
private static void listCiphers(Queue<String> arguments) {
	for (Provider provider : Security.getProviders()) {
           for (Provider.Service service : provider.getServices()) {
               if (service.getType().equals("Cipher")) {
               	System.out.println("Provider: " + provider.getName() + "  Algorithm: " + service.getAlgorithm());
               }
           }
       }
}
 
源代码11 项目: openjdk-jdk9   文件: NoSync.java
public static void main(String[] args) throws Exception {
    for (Provider p : Security.getProviders()) {
        for (Provider.Service s : p.getServices()) {
            if (s.getType().equals("SecureRandom") &&
                    !s.getAlgorithm().contains("Block")) {
                test(SecureRandom.getInstance(s.getAlgorithm(), p));
            }
        }
    }
    Security.setProperty("securerandom.drbg.config", "HMAC_DRBG");
    test(SecureRandom.getInstance("DRBG"));
    Security.setProperty("securerandom.drbg.config", "CTR_DRBG");
    test(SecureRandom.getInstance("DRBG"));
}
 
源代码12 项目: openjdk-jdk9   文件: PKCS11Test.java
/**
 * Returns supported algorithms of specified type.
 */
static List<String> getSupportedAlgorithms(String type, String alg,
        Provider p) {
    // prepare a list of supported algorithms
    List<String> algorithms = new ArrayList<>();
    Set<Provider.Service> services = p.getServices();
    for (Provider.Service service : services) {
        if (service.getType().equals(type)
                && service.getAlgorithm().startsWith(alg)) {
            algorithms.add(service.getAlgorithm());
        }
    }
    return algorithms;
}
 
源代码13 项目: wingtips   文件: TraceAndSpanIdGeneratorTest.java
@Test
public void getRandomInstance_should_return_requested_instance_if_available() {
    // given: all available SecureRandom algorithm providers
    Provider[] availableProviders = Security.getProviders();
    assertThat(availableProviders).isNotNull();
    assertThat(availableProviders.length).isGreaterThanOrEqualTo(1);

    // Ignore some algorithms because they fail on OSX if you're not an admin.
    // We don't care that *all* algorithms are available at all times on all platforms, just that the code does what it's supposed to do.
    List<String> excludedAlgorithms = Collections.singletonList("NativePRNGNonBlocking");

    Set<String> availableSecureRandomAlgorithms = new HashSet<>();

    for (Provider provider : availableProviders) {
        Set<Provider.Service> services = provider.getServices();
        for (Provider.Service service : services) {
            String type = service.getType();
            if ("SecureRandom".equals(type) && !excludedAlgorithms.contains(service.getAlgorithm()))
                availableSecureRandomAlgorithms.add(service.getAlgorithm());
        }
    }

    assertThat(availableSecureRandomAlgorithms).isNotEmpty();

    for (String algorithm : availableSecureRandomAlgorithms) {
        // when: we ask getRandomInstance for the algorithm
        Random randomGenerator = TraceAndSpanIdGenerator.getRandomInstance(algorithm);

        // then: we get back a valid SecureRandom that uses the requested algorithm
        assertThat(randomGenerator).isNotNull();
        assertThat(randomGenerator).isInstanceOf(SecureRandom.class);
        //noinspection ConstantConditions
        assertThat(((SecureRandom)randomGenerator).getAlgorithm()).isEqualTo(algorithm);
    }
}
 
源代码14 项目: wycheproof   文件: SecureRandomTest.java
/** Returns a list of all implemented services of SecureRandom. */
Collection<Provider.Service> secureRandomServices() {
  // TODO(bleichen): Check if all instances of SecureRandom are actually
  //   listed as services. In particular the default SecureRandom() and
  //   SecureRandom.getInstanceStrong() may not not be registered.
  ArrayList<Provider.Service> result = new ArrayList<Provider.Service>();
  for (Provider p : Security.getProviders()) {
    for (Provider.Service service : p.getServices()) {
      if (service.getType().equals("SecureRandom")) {
        result.add(service);
      }
    }
  }
  return result;
}
 
源代码15 项目: dss   文件: DSSUtils.java
/**
 * This method lists all defined security providers.
 */
public static void printSecurityProviders() {
	final Provider[] providers = Security.getProviders();
	for (final Provider provider : providers) {
		LOG.info("PROVIDER: {}", provider.getName());
		final Set<Provider.Service> services = provider.getServices();
		for (final Provider.Service service : services) {
			LOG.info("\tALGORITHM: {} / {} / {}", service.getAlgorithm(), service.getType(),
					service.getClassName());
		}
	}
}
 
源代码16 项目: wildfly-core   文件: ProviderAttributeDefinition.java
private static void addServices(final ModelNode providerModel, final Provider provider) {
    ModelNode servicesModel = providerModel.get(ElytronDescriptionConstants.SERVICES);

    for (Service current : provider.getServices()) {
        ModelNode serviceModel = new ModelNode();
        serviceModel.get(ElytronDescriptionConstants.TYPE).set(current.getType());
        serviceModel.get(ElytronDescriptionConstants.ALGORITHM).set(current.getAlgorithm());
        serviceModel.get(ElytronDescriptionConstants.CLASS_NAME).set(current.getClassName());

        servicesModel.add(serviceModel);
    }

}
 
源代码17 项目: cstc   文件: SignatureUtils.java
private void getSignatureInfos() {
	for (Provider provider : Security.getProviders())
		for (Service service : provider.getServices())
			if (service.getType().equals("Signature"))
	            algos.add(service.getAlgorithm());
}
 
源代码18 项目: p4ic4idea   文件: ServerPropertiesTest.java
/**
 * Test server properties
 * @throws P4JavaException 
 */
@Test
public void testServerProperties() {

	String[] serverUris = {
			"p4java://eng-p4java-vm.das.perforce.com:20121?socketPoolSize=10&testKey1=testVal1",
			"p4javassl://eng-p4java-vm.das.perforce.com:30121?socketPoolSize=10&testKey1=testVal1",
			"p4jrpc://eng-p4java-vm.das.perforce.com:20121?socketPoolSize=10&testKey1=testVal1",
			"p4jrpcssl://eng-p4java-vm.das.perforce.com:30121?socketPoolSize=10&testKey1=testVal1",
			"p4jrpcnts://eng-p4java-vm.das.perforce.com:20121?socketPoolSize=10&testKey1=testVal1",
			"p4jrpcntsssl://eng-p4java-vm.das.perforce.com:30121?socketPoolSize=10&testKey1=testVal1" };

	try {
		// List all the providers and the algorithms supporter
		for (Provider provider : Security.getProviders()) {
		    debugPrint("Provider: " + provider.getName());
			for (Provider.Service service : provider.getServices()) {
			    debugPrint("  Algorithm: " + service.getAlgorithm());
			}
		}

		// List supported protocol versions for this connection
		Socket socket = SSLSocketFactory.getDefault().createSocket();
		String[] supportedProtocols = ((SSLSocket) socket)
				.getSupportedProtocols();
		for (String supportedProtocol : supportedProtocols) {
		    debugPrint("Supported Protocol Version: "
					+ supportedProtocol);
		}
		// List enabled protocol versions for this connection
		String[] enabledProtocols = ((SSLSocket) socket)
				.getEnabledProtocols();
		for (String enabledProtocol : enabledProtocols) {
		    debugPrint("Enabled Protocol Version: "
					+ enabledProtocol);
		}

		Properties props = new Properties();

		// props.put("secureSocketTrustAll", "false");
		// props.put("secureSocketProtocol", "TLS");
		props.put("secureSocketProtocol", "SSL");
		// props.put("secureSocketSetEnabledProptocols", "false");
		// props.put("secureSocketEnabledProtocols", "SSLv3, TLSv1");
		props.put("secureSocketEnabledProtocols", "TLSv1, SSLv3");
		// props.put("secureSocketEnabledProtocols", "TLSv1");

		for (String serverUri : serverUris) {
			server = ServerFactory.getOptionsServer(serverUri, props);
			assertNotNull(server);

			// Register callback
			server.registerCallback(new MockCommandCallback());
			setupServer(p4d.getRSHURL(), userName, password, true, props);
			client = server.getClient("p4TestUserWS20112");
			assertNotNull(client);
			server.setCurrentClient(client);
			IServerInfo serverInfo = server.getServerInfo();
			assertNotNull(serverInfo);
		}

	} catch (Exception e) {
	    StringWriter sw = new StringWriter();
	    e.printStackTrace(new PrintWriter(sw));
		fail("Unexpected exception: " + e.getLocalizedMessage() +
		        "\n" + sw.toString() );
	}
}