Mega Code Archive

 
Categories / Java by API / Java Security
 

Provider

/* Ciphers:             None available. KeyAgreeents:             None available. Macs:             None available. MessageDigests:             SHA-512             SHA1             MD2             SHA             SHA ImplementedIn             SHA-256             MD5 ImplementedIn             SHA-1             MD5             SHA-384 Signatures:             OID.1.2.840.10040.4.3             OID.1.2.840.113549.1.1.4             SHA384withRSA             1.3.14.3.2.29             SHA512withRSA SupportedKeyClasses             SHA/DSA             SHA1withDSA KeySize             NONEwithDSA SupportedKeyClasses             OID.1.2.840.113549.1.1.5             SHA512withRSA             MD5withRSA             DSS             OID.1.2.840.113549.1.1.11             SHA384withRSA SupportedKeyClasses             SHA1withRSA             MD5withRSA SupportedKeyClasses             NONEwithDSA             1.2.840.113549.1.1.4             MD5andSHA1withRSA             1.2.840.113549.1.1.11             OID.1.2.840.113549.1.1.13             1.3.14.3.2.27             1.2.840.10040.4.3             SHA256withRSA             MD2withRSA SupportedKeyClasses             1.2.840.113549.1.1.2             1.2.840.113549.1.1.12             RawDSA             SHA1withDSA             SHA1/DSA             MD2withRSA             1.3.14.3.2.13             SHAwithDSA             DSAWithSHA1             1.2.840.113549.1.1.13             OID.1.3.14.3.2.29             SHA1withDSA ImplementedIn             SHA256withRSA SupportedKeyClasses             SHA1withDSA SupportedKeyClasses             DSA             1.2.840.113549.1.1.5             SHA-1/DSA             SHA1withRSA SupportedKeyClasses             OID.1.2.840.113549.1.1.12             OID.1.2.840.113549.1.1.2  */ import java.security.Provider; import java.security.Security; import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class ListAlgorithms {   public static void printSet(String setName, Set algorithms) {     System.out.println(setName + ":");     if (algorithms.isEmpty()) {       System.out.println("            None available.");     } else {       Iterator it = algorithms.iterator();       while (it.hasNext()) {         String name = (String) it.next();         System.out.println("            " + name);       }     }   }   public static void main(String[] args) {     Provider[] providers = Security.getProviders();     Set<String> ciphers = new HashSet<String>();     Set<String> keyAgreements = new HashSet<String>();     Set<String> macs = new HashSet<String>();     Set<String> messageDigests = new HashSet<String>();     Set<String> signatures = new HashSet<String>();     for (int i = 0; i != providers.length; i++) {       Iterator it = providers[i].keySet().iterator();       while (it.hasNext()) {         String entry = (String) it.next();         if (entry.startsWith("Alg.Alias.")) {           entry = entry.substring("Alg.Alias.".length());         }         if (entry.startsWith("Cipher.")) {           ciphers.add(entry.substring("Cipher.".length()));         } else if (entry.startsWith("KeyAgreement.")) {           keyAgreements.add(entry.substring("KeyAgreement.".length()));         } else if (entry.startsWith("Mac.")) {           macs.add(entry.substring("Mac.".length()));         } else if (entry.startsWith("MessageDigest.")) {           messageDigests.add(entry.substring("MessageDigest.".length()));         } else if (entry.startsWith("Signature.")) {           signatures.add(entry.substring("Signature.".length()));         }       }     }     printSet("Ciphers", ciphers);     printSet("KeyAgreeents", keyAgreements);     printSet("Macs", macs);     printSet("MessageDigests", messageDigests);     printSet("Signatures", signatures);   } }