Click here to Skip to main content
Click here to Skip to main content
Go to top

JCA (Java Cryptography Architecture) Listing all Security Providers

, 18 May 2014
Rate this:
Please Sign up or sign in to vote.
Java Cryptography Architecture (JCA) is a framework for working with cryptography using Java.

The Provider Class

The term "Cryptographic Service Provider" (used interchangeably with "provider" in this document) refers to a package or set of packages that supply a concrete implementation of a subset of the JDK Security API cryptography features. The Provider class is the interface to such a package or set of packages. It has methods for accessing the provider name, version number, and other information.

The above paragraph has been taken from
http://docs.oracle.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#Provider

If you want to get the list of the all the JCA Security Providers then you can use the following code, and it also prints the information's and its version : -

Code :-
import java.security.Provider;
import java.security.Security;
/**
* @author psychocoder
* Class to list all the JCA Security Providers
*/
public class ListProviders {

public static void main(String[] args) {
System.out.println("List of All Cryptographic Service"
+ " Providers and their versions\n");
for (Provider provider : Security.getProviders()) {
System.out.println("Name : " + provider.getName());
System.out.println("Information About Provider : " + provider.getInfo());
System.out.println("Version : " + provider.getVersion());
System.out.println("\n");
}
}
}

Click the link below to see the code with Syntax Highlighting.:
https://gist.github.com/PsychoCoderHC/11407515

Output :-

List of All Cryptographic Service Providers and their versions

Name : SUN
Information About Provider : SUN (DSA key/parameter generation; DSA signing; SHA-1, MD5 digests; SecureRandom; X.509 certificates; JKS keystore; PKIX CertPathValidator; PKIX CertPathBuilder; LDAP, Collection CertStores, JavaPolicy Policy; JavaLoginConfig Configuration)
Version : 1.7


Name : SunRsaSign
Information About Provider : Sun RSA signature provider
Version : 1.7


Name : SunEC
Information About Provider : Sun Elliptic Curve provider (EC, ECDSA, ECDH)
Version : 1.7


Name : SunJSSE
Information About Provider : Sun JSSE provider(PKCS12, SunX509 key/trust factories, SSLv3, TLSv1)
Version : 1.7


Name : SunJCE
Information About Provider : SunJCE Provider (implements RSA, DES, Triple DES, AES, Blowfish, ARCFOUR, RC2, PBE, Diffie-Hellman, HMAC)
Version : 1.7


Name : SunJGSS
Information About Provider : Sun (Kerberos v5, SPNEGO)
Version : 1.7


Name : SunSASL
Information About Provider : Sun SASL provider(implements client mechanisms for: DIGEST-MD5, GSSAPI, EXTERNAL, PLAIN, CRAM-MD5, NTLM; server mechanisms for: DIGEST-MD5, GSSAPI, CRAM-MD5, NTLM)
Version : 1.7


Name : XMLDSig
Information About Provider : XMLDSig (DOM XMLSignatureFactory; DOM KeyInfoFactory)
Version : 1.0


Name : SunPCSC
Information About Provider : Sun PC/SC provider
Version : 1.7


Name : SunMSCAPI
Information About Provider : Sun's Microsoft Crypto API provider
Version : 1.7

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Psycho_Coder
Student
India India
My name is Animesh Shaw, Currently I am pursuing B. Tech in Computer Science. My Screen name is Psycho_Coder. I am active in many Security or Ethical Hacking forums. I love programming and exploring the depths of Computer Science.
 
Programming Languages know : C, C++,Java, Python and PHP.
 
You can even contact me on the following :-
 
1, CS - Computer Science Lovers : https://www.facebook.com/CSComputerScienceLovers. Please like it.
 
2. CS(Computer Science) Lovers : https://www.facebook.com/groups/csloversforever/
My facebook group to discuss programming. You can join this group if you are serious about computer science and programming.
 
3. You can mail me at psychocoder@outlook.com
 

My Interests :
 
I have great interests in the following topics in Computer Science :-
 
1. Programming Language Concepts and Methodologies.
2. Computational Linguistics.
3. Cryptography.
 
Github Profile : https://github.com/PsychoCoderHC
Follow on   Twitter   Google+   LinkedIn

Comments and Discussions

 
-- There are no messages in this forum --
| Advertise | Privacy | Mobile
Web02 | 2.8.140921.1 | Last Updated 19 May 2014
Article Copyright 2014 by Psycho_Coder
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid