// ----------------------------------------------------------------------------- // ListAvailableCryptographicServices.java // ----------------------------------------------------------------------------- /* * ============================================================================= * Copyright (c) 1998-2009 Jeffrey M. Hunter. All rights reserved. * * All source code and material located at the Internet address of * http://www.idevelopment.info is the copyright of Jeffrey M. Hunter and * is protected under copyright laws of the United States. This source code may * not be hosted on any other site without my express, prior, written * permission. Application to host any of the material elsewhere can be made by * contacting me at jhunter@idevelopment.info. * * I have made every effort and taken great care in making sure that the source * code and other content included on my web site is technically accurate, but I * disclaim any and all responsibility for any loss, damage or destruction of * data or any other property which may arise from relying on it. I will in no * case be liable for any monetary damages arising from such loss, damage or * destruction. * * As with any code, ensure to test this code in a development environment * before attempting to run it in production. * ============================================================================= */ import java.security.Provider; import java.security.Security; import java.util.Arrays; import java.util.Set; import java.util.HashSet; import java.util.Iterator; /** * ----------------------------------------------------------------------------- * The providers of cryptographic services such as key generation algorithms, * register their services with the Security class. A service is * represented by a name of the form: * * service-type.service-implementation * * An example of a service entry is: * SecureRandom.SHA1PRNG * ----------------------------------------------------------------------------- * @version 1.0 * @author Jeffrey M. Hunter (jhunter@idevelopment.info) * @author http://www.idevelopment.info * ----------------------------------------------------------------------------- */ public class ListAvailableCryptographicServices { /** * This method returns all available services types. * @return String[] object that is a list of all available * service types. */ private static String[] getServiceTypes() { Set result = new HashSet(); // All providers Provider[] providers = Security.getProviders(); for (int i=0; iString[] object that is a list of all available * service type implementations. */ private static String[] getCryptoImpls(String serviceType) { Set result = new HashSet(); // All providers Provider[] providers = Security.getProviders(); for (int i=0; i