As the web applications and the users using ebanking has became more (as www.ebay.com , www.llyods.tsb) the security to be provided has become more important. To solve these problems effectively in the last few years java has developed java platforms security and encryption features tremendously. For these security purposes Java has released JDK1.4 which comes with much security related packages. This includes Java Cryptography Extension (JCE), Java Authentication Authorisation Service (JAAS) and Java Secure Socket Extension (JSSE).
In this package of JDK 1.4 it provides security in two main ways. Java cryptography is used for identification/authentication and signing of digital messages. In Java Cryptography is used for user Identification/authentication and signing of digital messages.
Introduction to JCA
The design of Java cryptographic architecture is based on:
- Implementation independence and interoperability
- Algorithm independence and extendibility
Implementation independence and interoperability: Implementation independence provides the unique feature of using the same algorithm by various providers in there own way. This is possible using a provider based architecture. The cryptographic services such as MD5 and DSA are used by a single provider or multiple providers. This concept is referred to as CSP or cryptographic service provider. Implementation interoperability refers to usage of the same keys and signatures by the providers irrespective of who generated it. A key or signature generated by user1 is usable by user2.
Algorithm independence and extendibility: Engine classes are the classes that are used to define the functionality of cryptographic engines. The Algorithm independence is achieved using these engine classes and by defining the various cryptographic engines used. Addition of a new algorithm to a specified engine class is very simple, hence is known as Algorithm extendibility.
This Project Paper is written & submitted by Deepak V.