+) fixing broken test data
+) improving documenttion
+) preparing for new release candidate
git-svn-id: https://svn.apache.org/repos/asf/turbine/fulcrum/trunk/yaafi-crypto@758275 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
index 9fd2e71..b9fd397 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>fulcrum-yaafi-crypto</artifactId>
- <version>1.0.7-SNAPSHOT</version>
+ <version>1.0.6-SNAPSHOT</version>
<name>Fulcrum YAAFI Crypto</name>
<inceptionYear>2008</inceptionYear>
<description>Fulcrum YAAFI Crypto Library</description>
diff --git a/src/test/org/apache/fulcrum/jce/crypto/CryptoUtilTest.java b/src/test/org/apache/fulcrum/jce/crypto/CryptoUtilTest.java
index 430cb15..2d59bc5 100644
--- a/src/test/org/apache/fulcrum/jce/crypto/CryptoUtilTest.java
+++ b/src/test/org/apache/fulcrum/jce/crypto/CryptoUtilTest.java
@@ -274,7 +274,9 @@
{
char[] result = null;
result = PasswordFactory.create();
+ System.out.println( new String(result) );
result = PasswordFactory.create( this.getPassword() );
+ System.out.println( new String(result) );
assertNotNull(result);
return;
}
diff --git a/xdocs/index.xml b/xdocs/index.xml
index 38d89ee..47079d7 100644
--- a/xdocs/index.xml
+++ b/xdocs/index.xml
@@ -28,50 +28,78 @@
<body>
<section name="Overview">
- <p>
- Fulcrum Crypto Library is an extension library for Fulcrum YAAFI
- to support transparent decryption of configuration files.
- </p>
+ <p> Fulcrum YAFFI Crypto Library is an extension library for Fulcrum YAAFI to support
+ transparent decryption of configuration files. The encryption/decryption is based on DES
+ using 56 bit key length. </p>
+ </section>
+
+ <section name="Functionality">
+ <p> This library exposes the following functionality <ul>
+ <li>password factory to create safer passwords</li>
+ <li>creation of decrypting input streams</li>
+ <li>creation of enrypting output streams</li>
+ </ul>
+ </p>
+ <subsection name="Password Creation">
+ <p> Why someone need a password factory to create safer password?! People tend to use weak
+ password vunerable to dictionary attacks. To improve the situation you have a base
+ password which you convert into the real password using the PasswordFactory. For the
+ password generation the base password is salted and repeatedly hashed to generate a UUID
+ string (which you can still manually enter on the keyboard). Furthermore the password
+ generation allows you to hide the "real" password in the case that you need to store your
+ password directly in your code or configuration.<table>
+ <tr>
+ <td>Base Text Password</td>
+ <td>Computed Text Password</td>
+ </tr>
+ <tr>
+ <td>fulcrum-yaafi</td>
+ <td>727a-98b9-93be-4537c</td>
+ </tr>
+ <tr>
+ <td>mysecret</td>
+ <td>62cc-bf14-1814-672da</td>
+ </tr>
+ </table>
+ </p>
+ </subsection>
+ <subsection name="Decrypting InputStreams">
+ <p> A decrypting input stream allows to apply transparent decryption of an input stream.
+ Transparently also means that the implementation is able to look at the content to decide
+ if it is encrypted at all - this is a so-called "SmartDecryptingInputStream". </p>
+ </subsection>
+ <subsection name="Encrypting OutputStreams">
+ <p> A encrypting output stream allows to apply transparent encryption of an output stream.
+ </p>
+ </subsection>
</section>
<section name="Cryptography Support">
-
- <p>
- This library supports decryption of configuration files using
- Sun's JCA (Java Crypto Architecture). The encryption/decryption is
- based on DES using 56 bit key length.
- </p>
-
- <subsection name="JDK 1.3.x">
- <p>
- For JDK 1.3.x the <a href="http://java.sun.com/products/jce/index-122.html">
- Java Cryptography Extension (JCE) 1.2.2</a> needs to be installed.
- Furthermore you need to add the jce1_2_2.jar to your Maven repository
- and project.xml
- </p>
+ <subsection name="JDK Support">
+ <table>
+ <tr>
+ <td>JDK 1.3.x</td>
+ <td> For JDK 1.3.x the <a href="http://java.sun.com/products/jce/index-122.html"> Java
+ Cryptography Extension (JCE) 1.2.2</a> needs to be installed. Furthermore you need
+ to add the jce1_2_2.jar to your Maven repository and project.xml </td>
+ </tr>
+ <tr>
+ <td>JDK 1.4.x</td>
+ <td> The current JDK's have the JCA built-in therefore no extra configuration is
+ required. </td>
+ </tr>
+ <tr>
+ <td>JDK 1.5.x</td>
+ <td> The current JDK's have the JCA built-in therefore no extra configuration is
+ required. </td>
+ </tr>
+ <tr>
+ <td>JDK 1.6.x</td>
+ <td> The current JDK's have the JCA built-in therefore no extra configuration is
+ required. </td>
+ </tr>
+ </table>
</subsection>
-
- <subsection name="JDK 1.4.x">
- <p>
- The current JDK's have the JCA built-in therefore no extra configuration
- is required.
- </p>
- </subsection>
-
- <subsection name="JDK 1.5.x">
- <p>
- The current JDK's have the JCA built-in therefore no extra configuration
- is required.
- </p>
- </subsection>
-
- <subsection name="JDK 1.6.x">
- <p>
- The current JDK's have the JCA built-in therefore no extra configuration
- is required.
- </p>
- </subsection>
-
<subsection name="Availabe Algorithms">
<table>
<tr>
@@ -84,15 +112,11 @@
</tr>
<tr>
<td>SunJCE 1.42</td>
- <td>
- PBEWithMD5AndDES
- </td>
+ <td> PBEWithMD5AndDES </td>
</tr>
</table>
</subsection>
-
</section>
-
</body>