# `iay/java:oracle-8`

This Docker image includes an Oracle Java 8 JDK built on the official Docker
[`ubuntu:14.04`](https://registry.hub.docker.com/_/ubuntu/) image. It also includes
the [Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files]
(http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html)
to allow the use of algorithms such as AES with 256-bit keys. These capabilities are
included in OpenJDK runtimes by default; this just brings the Oracle JDK up to the
same level.

The `Dockerfile` assumes you have the policy files available:

* Download `jce_policy-8.zip` [from Oracle](http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html).
You will need to accept their license agreement to do this.
* `gunzip jce_policy-8.zip` will generate the `UnlimitedJCEPolicyJDK8`
directory assumed by the `Dockerfile`.

Run `./build` to build the image.

# `iay/java:oracle-8`

This Docker image includes an Oracle Java 8 JDK built on the official Docker
[`ubuntu:14.04`](https://registry.hub.docker.com/_/ubuntu/) image. It also includes
the [Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files]
(http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html)
to allow the use of algorithms such as AES with 256-bit keys. These capabilities are
included in OpenJDK runtimes by default; this just brings the Oracle JDK up to the
same level.

The `Dockerfile` assumes you have the policy files available:

* Download `jce_policy-8.zip` [from Oracle](http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html).
You will need to accept their license agreement to do this.
* `gunzip jce_policy-8.zip` will generate the `UnlimitedJCEPolicyJDK8`
directory assumed by the `Dockerfile`.

Run `./build` to build the image.

During the build, you will see `Test.java` being executed twice to verify the
state of the cryptographic policy in use. Before the policy files have
been updated, you should see this:

    AES with 128-bit key OK.
    AES with 256-bit key not permitted.
    SHA-256 algorithm is present.

Afterwards, the output should look like this instead:

    AES with 128-bit key OK.
    AES with 256-bit key OK.
    SHA-256 algorithm is present.

You can always compile and execute `/data/Test.java` in a container to verify
the final state.

Document the crypto test application.
Document the crypto test application.
