<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://luminoussheep.net/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Java_Security_Frameworks</id>
	<title>Java Security Frameworks - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://luminoussheep.net/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Java_Security_Frameworks"/>
	<link rel="alternate" type="text/html" href="https://luminoussheep.net/mediawiki/index.php?title=Java_Security_Frameworks&amp;action=history"/>
	<updated>2026-05-11T19:24:58Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://luminoussheep.net/mediawiki/index.php?title=Java_Security_Frameworks&amp;diff=70&amp;oldid=prev</id>
		<title>Martin: Created page with &quot;= JCA Java Cryptography Architecture = The initial java cryptography API allows independent implementation of the cryptographic functions and defines a standard API Default im...&quot;</title>
		<link rel="alternate" type="text/html" href="https://luminoussheep.net/mediawiki/index.php?title=Java_Security_Frameworks&amp;diff=70&amp;oldid=prev"/>
		<updated>2021-09-14T21:34:21Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= JCA Java Cryptography Architecture = The initial java cryptography API allows independent implementation of the cryptographic functions and defines a standard API Default im...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= JCA Java Cryptography Architecture =&lt;br /&gt;
The initial java cryptography API allows independent implementation of the cryptographic functions and defines a standard API&lt;br /&gt;
Default implementation &amp;quot;SUN&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Provides:&lt;br /&gt;
* Digital signature algorithms (DSA)&lt;br /&gt;
** DSA key pair generation&lt;br /&gt;
** DSA algorithm parameter generator/manager&lt;br /&gt;
** DSA factory for conversion of private key to public key&lt;br /&gt;
** Digital signature generation DSG&lt;br /&gt;
* Certificate builder and validator X509&lt;br /&gt;
* Certificate facory X509 certificates and revocation lists&lt;br /&gt;
* Key store JKS management of keys and certificates&lt;br /&gt;
* Message digest algorithms e.g. md5/sha1&lt;br /&gt;
&lt;br /&gt;
new in jdk 2:&lt;br /&gt;
* key factories&lt;br /&gt;
* keystore creation and management&lt;br /&gt;
* algorithm parameter management&lt;br /&gt;
* algorithm parameter generation&lt;br /&gt;
* certificate factories&lt;br /&gt;
* enables a provider to supply a random number generation (RNG) algorithm&lt;br /&gt;
&lt;br /&gt;
Based on the key clases: &lt;br /&gt;
* MessageDigest&lt;br /&gt;
* Signature&lt;br /&gt;
* KeyFactory&lt;br /&gt;
* KeyPairGenerator&lt;br /&gt;
&lt;br /&gt;
= JCE Java Cryptography Extension =&lt;br /&gt;
Extends the JCA originally for algorithms subject to export control&lt;br /&gt;
Default provider &amp;quot;SunJCE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Symmetric bulk encryption&lt;br /&gt;
** i.e. Block ciphers e.g. AES-128, AES-192, AES-256, DES, tripple DES, RC2, IDEA, blowfish, Serpent, Twofish&lt;br /&gt;
* Symmetric stream encryption, e.g. RC4&lt;br /&gt;
** as used in SSL, WEP&lt;br /&gt;
* Asymmetric encryption i.e. PGP e.g. RSA, ElGamal encryption, ECC (Elliptic curve cryptography)&lt;br /&gt;
** note: there is also an ElGamal signature scheme related to DSA different to ElGamal sncryption&lt;br /&gt;
* Password-based encryption (PBE) e.g. MD5 + DES-CBC or PKCS&lt;br /&gt;
** password + salt -&amp;gt; cryptographic hash, cipher, or HMAC -&amp;gt; repeat 1000 times =&amp;gt; derived key - use as a cryptographic key&lt;br /&gt;
* Key Agreement - e.g. Diffie Hellman&lt;br /&gt;
* Message Authentication Codes (MAC) e.g. HMAC-SHA1&lt;br /&gt;
* PKCS#11 - RSA cryptographic token interface standard - storage and cryptographic services from devices &lt;br /&gt;
** Hardware Security Modules (HSM) and smart cards.&lt;br /&gt;
** Standard interfaces required&lt;br /&gt;
&lt;br /&gt;
= CertPath Java Certification Path API =&lt;br /&gt;
API for certificate chains - checking, verifying, validating&lt;br /&gt;
&lt;br /&gt;
= JSSE Java Secure Socket Extension =&lt;br /&gt;
Secure communication via SSL (Secure Socket Layer)/TLS (Transport Layer Security)&lt;br /&gt;
* data encryption&lt;br /&gt;
* server authentication&lt;br /&gt;
* message integrity&lt;br /&gt;
* optional client authentication&lt;br /&gt;
&lt;br /&gt;
* public key crypto for exchange&lt;br /&gt;
* secret key crypto (block) for data transfer&lt;br /&gt;
&lt;br /&gt;
Supports building of HTTPS, SSH, secure SMTP, IPSEC, Secure RMI or RMI/IIOP (over SSL)&lt;br /&gt;
&lt;br /&gt;
= JAAS Java Authentication and Authorisation Service =&lt;br /&gt;
* identity verification&lt;br /&gt;
* roles/privileges&lt;br /&gt;
* supports pluggable authentication&lt;br /&gt;
&lt;br /&gt;
* authentication - verifying identity, &lt;br /&gt;
* authorisation - access rights&lt;br /&gt;
&lt;br /&gt;
= JGGS Java Generic Secure Services = &lt;br /&gt;
* Authentication/SSO Single Sign On&lt;br /&gt;
* e.g. kerberos&lt;br /&gt;
* GSS-API developed by IEFT&lt;br /&gt;
* token passing security protocols&lt;br /&gt;
* Does &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; support authorisation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Jargon =&lt;br /&gt;
=== Encryption ===&lt;br /&gt;
* Encrypted message = cypher text&lt;br /&gt;
*Two way process involving a cryptographic key&lt;br /&gt;
&lt;br /&gt;
=== Symetric Ciphers ===&lt;br /&gt;
* Symetric because encryption and decryption share same key&lt;br /&gt;
&lt;br /&gt;
=== Block cipher ===&lt;br /&gt;
* symetric key encryption works on fixed length block of data&lt;br /&gt;
* padding required to make data fit block size&lt;br /&gt;
&lt;br /&gt;
=== Stream cipher ===&lt;br /&gt;
* encrypts one byte/bit at a time&lt;br /&gt;
* sensitive to starting state&lt;br /&gt;
&lt;br /&gt;
=== Sealed object ===&lt;br /&gt;
* encryption of a serialisable object&lt;br /&gt;
* offers confidentiality&lt;br /&gt;
&lt;br /&gt;
=== Password based encryption PBE ===&lt;br /&gt;
* derivation of an encryption key from password&lt;br /&gt;
* password + salt -&amp;gt; hashing algorithm many times&lt;br /&gt;
&lt;br /&gt;
=== AES ===&lt;br /&gt;
* Advanced Encryption Standard&lt;br /&gt;
* block algorithm&lt;br /&gt;
&lt;br /&gt;
=== Message Authentication Code (MAC) ===&lt;br /&gt;
* HMAC - hashed key (hashed using password)&lt;br /&gt;
&lt;br /&gt;
=== TLS Transport Layer Security ===&lt;br /&gt;
* successor to SSL&lt;br /&gt;
* TLS uses stronger encryption algorithms and has the ability to work on different ports&lt;br /&gt;
* TLS 1.0 based on SSL 3.0 but incompatible&lt;br /&gt;
* More extensible&lt;br /&gt;
* TLS allows secure and insecure communication over the same port&lt;br /&gt;
&lt;br /&gt;
=== Key agreement protocols ===&lt;br /&gt;
* exchange of a secret key over an insecure network&lt;br /&gt;
* Diffie Hellman&lt;br /&gt;
&lt;br /&gt;
=== Ephemeral ===&lt;br /&gt;
* short lived, transient&lt;br /&gt;
&lt;br /&gt;
=== Non-repudiation ===&lt;br /&gt;
* irrefutable proof - person signed the document&lt;/div&gt;</summary>
		<author><name>Martin</name></author>
	</entry>
</feed>