blob: 9c0805a839bb39c5e0b3cc1c3252cc1f0b04c742 [file] [log] [blame]
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;
}
}