import java.security.Provider; import java.security.Security; public class SecurityListings { public static void main(String[] args) { for (Provider provider : Security.getProviders()) { System.out.println("Provider: " + provider.getName()); for (Provider.Service service : provider.getServices()) { System.out.println(" Algorithm: " + service.getAlgorithm()); } } } }
Provider[] providers = Security.getProviders(); for (Provider provider : providers) { Log.i("CRYPTO","provider: "+provider.getName()); Set<Provider.Service> services = provider.getServices(); for (Provider.Service service : services) { Log.i("CRYPTO"," algorithm: "+service.getAlgorithm()); } }
/** * Adds information about provider services into HashMap. */ public static synchronized void initServiceInfo(Provider p) { for (Provider.Service service : p.getServices()) { String type = service.getType(); if (cachedSecureRandomService == null && type.equals("SecureRandom")) { cachedSecureRandomService = service; } String key = type + "." + service.getAlgorithm().toUpperCase(Locale.US); if (!services.containsKey(key)) { services.put(key, service); } for (String alias : Engine.door.getAliases(service)) { key = type + "." + alias.toUpperCase(Locale.US); if (!services.containsKey(key)) { services.put(key, service); } } } }
/** * Create the EncryptionTool instance */ @SuppressWarnings("nls") private EncryptionTool() { String out = "Found the following security algorithms:"; for (Provider p : Security.getProviders()) { for (Service s : p.getServices()) { String algo = s.getAlgorithm(); out += String.format("%n -Algorithm [ %s ] in provider [ %s ] and service [ %s ]", algo, p.getName(), s.getClassName()); } } LOG.debug(out); }
/** * 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()); } } }
public class Sample { static { Security.insertProviderAt(new org.spongycastle.jce.provider.BouncyCastleProvider(), 1); } public void printProviders() { for (Provider provider : Security.getProviders()) { System.out.println("Provider: " + provider.getName()); for (Provider.Service service : provider.getServices()) { System.out.println(" Algorithm: " + service.getAlgorithm()); } } } }
/** * This method lists all defined security providers. */ public static void printSecurityProvides() { final Provider[] providers = Security.getProviders(); for (final Provider provider : providers) { System.out.println("PROVIDER: " + provider.getName()); final Set<Provider.Service> services = provider.getServices(); for (final Provider.Service service : services) { System.out.println("\tALGORITHM: " + service.getAlgorithm() + " / " + service.getType() + " / " + service.getClassName()); } } }
import java.security.Security; import java.security.Provider; import java.security.Provider.Service; for (Provider provider : Security.getProviders()) { for (Service service : provider.getServices()) { if (service.getType().equals("SecureRandom")) { System.out.println(service.getAlgorithm()); } } }
public synchronized final Set<Provider.Service> getServices() { Set<Provider.Service> serviceSet = super.getServices(); Set<Provider.Service> bcServiceSet = new HashSet<Provider.Service>(); for (Provider.Service service: serviceSet) { bcServiceSet.add(getService(service.getType(), service.getAlgorithm())); } return bcServiceSet; }
private static String asString(Service s) { String str = "Provider = " + s.getProvider().getName() + SEP; str += "Type = " + s.getType() + SEP; str += "Algorithm = " + s.getAlgorithm() + SEP; str += "Class = " + s.getClassName(); if (isSignature(s) || isCipher(s) || isKeyAgreement(s)) { str += SEP + "SupportedKeyClasses = " + Arrays.toString(getSupportedKeyClasses(s)); } return str; }
private void showAvailableSecurityProviders(){ HashSet<String> strings = new HashSet<>(); for ( Provider provider : Security.getProviders() ) { for ( Provider.Service serviceProvider : provider.getServices() ) strings.add( serviceProvider.getAlgorithm() ); } log.debug( "Available security provides: " + String.join( " " , strings ) ); }
private boolean algorithmExists(final String serviceType, final String algorithm) { for (Provider provider : Security.getProviders()) { for (Service service : provider.getServices()) { if (service.getType().equals(serviceType) && service.getAlgorithm().equalsIgnoreCase(algorithm)) { return true; } } } return false; }
for (Provider provider: Security.getProviders()) { System.out.println(provider.getName()); for (Provider.Service s: provider.getServices()){ if (s.getType().equals("Cipher")) System.out.println("\t"+s.getType()+" "+ s.getAlgorithm()); } }
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); } }
for (Provider provider : Security.getProviders()) { System.out.println("Provider: " + provider.getName() + " version: " + provider.getVersion()); for (Provider.Service service : provider.getServices()) { System.out.printf(" Type : %-30s Algorithm: %-30s\n", service.getType(), service.getAlgorithm()); } }
Provider[] providers = Security.getProviders(); for (Provider p : providers) { Log.d(TAG, "provider: " + p.getName()); Set<Provider.Service> services = p.getServices(); for (Provider.Service s : services) { Log.d(TAG, "--> algorithm: " + s.getAlgorithm()); } }
for (Provider provider : Security.getProviders()) { for (Provider.Service service : provider.getServices()) { System.out.println(provider.getName() + ": " + service.getType() + "." + service.getAlgorithm()); // check these values and find a best match } }
for (Provider.Service service : services) { if (SERVICE_TYPE.equals(service.getType())) { String protocolName = service.getAlgorithm(); List<Provider> providerList = preferredProviderByAlgorithm.computeIfAbsent(protocolName.toUpperCase(Locale.ENGLISH), s -> new ArrayList<>()); providerList.add(provider);
/** * Returns a {@code Set} of all registered algorithms for the specified * cryptographic service. {@code "Signature"}, {@code "Cipher"} and {@code * "KeyStore"} are examples for such kind of services. * * @param serviceName * the case-insensitive name of the service. * @return a {@code Set} of all registered algorithms for the specified * cryptographic service, or an empty {@code Set} if {@code * serviceName} is {@code null} or if no registered provider * provides the requested service. */ public static Set<String> getAlgorithms(String serviceName) { Set<String> result = new HashSet<String>(); // compatibility with RI if (serviceName == null) { return result; } for (Provider provider : getProviders()) { for (Provider.Service service: provider.getServices()) { if (service.getType().equalsIgnoreCase(serviceName)) { result.add(service.getAlgorithm()); } } } return result; }
/** * Constructs a new {@code SecureRandom} that uses the default algorithm. */ public SecureRandom() { super(0); Provider.Service service = Services.getSecureRandomService(); if (service == null) { this.provider = null; this.secureRandomSpi = new SHA1PRNG_SecureRandomImpl(); this.algorithm = "SHA1PRNG"; } else { try { this.provider = service.getProvider(); this.secureRandomSpi = (SecureRandomSpi)service.newInstance(null); this.algorithm = service.getAlgorithm(); } catch (Exception e) { throw new RuntimeException(e); } } }