[jboss-jira] [JBoss JIRA] Created: (JBAS-3400) JaasSecurityManagerService can show security provider/JCA algorithm information

Anil Saldhana (JIRA) jira-events at jboss.com
Mon Jul 17 15:27:11 EDT 2006


JaasSecurityManagerService can show security provider/JCA algorithm information
-------------------------------------------------------------------------------

                 Key: JBAS-3400
                 URL: http://jira.jboss.com/jira/browse/JBAS-3400
             Project: JBoss Application Server
          Issue Type: Feature Request
      Security Level: Public (Everyone can see)
          Components: Security
    Affects Versions: JBossAS-4.0.4.GA
            Reporter: Anil Saldhana
         Assigned To: Sohil Shah
            Priority: Optional
             Fix For: JBossAS-5.0.0.Beta, JBossAS-4.0.5.CR1, JBossAS-3.2.8.SP2


It may be useful to determine the security providers and the various JCA algorithms installed in the JDK.

So, add two methods to the JaasSecurityManagerService as follows:
- showProviders()
- getAlgorithm(String serviceName)

If the serviceName is null, show all the possible JCA service names.

Here is a partial tested code, that you may want to adapt:
======================================================================================
import java.security.*;
import java.util.*;

public class A
{
   public static void main(String[] args)
   {
        Provider[] providers = Security.getProviders();
        for(int i = 0; i < providers.length; i++)
        {
           System.out.println("Provider="+providers[i].toString());

        } 
       
        System.out.println("Printing JCA Algorithm Information");
        printJCAAlgorithm("Cipher");
        printJCAAlgorithm("Signature");
        printJCAAlgorithm("KeyFactory");
        printJCAAlgorithm("SecretKeyFactory");
        printJCAAlgorithm("AlgorithmParameters");
        printJCAAlgorithm("MessageDigest");
        printJCAAlgorithm("Mac");
   }
 
   private static void printJCAAlgorithm(String sName)
   {
        System.out.println("Printing "+sName);
        Set md2 = Security.getAlgorithms(sName);
        System.out.println(sName + " set length="+md2.size());
        Iterator md2iter = md2.iterator();
        while(md2iter.hasNext())
        {
          System.out.println(md2iter.next().toString());
        }

   }
}
====================================================================================

The output is:
asaldhana~/testSecurity>java -cp . -Djava.security.manager A
Provider=SUN version 1.5
Provider=SunRsaSign version 1.5
Provider=SunJSSE version 1.5
Provider=SunJCE version 1.5
Provider=SunJGSS version 1.0
Provider=SunSASL version 1.5
Printing JCA Algorithm Information
Printing Cipher
Cipher set length=13
ARCFOUR
PBEWITHSHA1ANDDESEDE
DESEDEWRAP
PBEWITHMD5ANDTRIPLEDES
DESEDE
RSA
AESWRAP
AES
PBEWITHMD5ANDDES
BLOWFISH
DES
RC2
PBEWITHSHA1ANDRC2_40
Printing Signature
Signature set length=9
SHA256WITHRSA
NONEWITHDSA
....


Make the changes in HEAD. I will port it to Branch_4_0 and Branch_3_2

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list