| package org.bouncycastle.jce.provider.test; |
| |
| import java.security.Security; |
| import java.util.ArrayList; |
| import java.util.Enumeration; |
| import java.util.List; |
| |
| import org.bouncycastle.jce.provider.BouncyCastleProvider; |
| |
| abstract class JceTestUtil |
| { |
| private JceTestUtil() |
| { |
| } |
| |
| static String[] getRegisteredAlgorithms(String prefix, String[] exclusionPatterns) |
| { |
| final BouncyCastleProvider prov = (BouncyCastleProvider)Security.getProvider("BC"); |
| |
| List matches = new ArrayList(); |
| Enumeration algos = prov.keys(); |
| while (algos.hasMoreElements()) |
| { |
| String algo = (String)algos.nextElement(); |
| if (!algo.startsWith(prefix)) |
| { |
| continue; |
| } |
| String algoName = algo.substring(prefix.length()); |
| if (!isExcluded(algoName, exclusionPatterns)) |
| { |
| matches.add(algoName); |
| } |
| } |
| return (String[])matches.toArray(new String[matches.size()]); |
| } |
| |
| private static boolean isExcluded(String algoName, String[] exclusionPatterns) |
| { |
| for (int i = 0; i < exclusionPatterns.length; i++) |
| { |
| if (algoName.contains(exclusionPatterns[i])) |
| { |
| return true; |
| } |
| } |
| return false; |
| } |
| } |