Signed Java Applets, Trust, and Key Servers

A talk for the Boulder Java User's Group, March 1997, by Neal McBurnett.


Update, 2001: see also http://www.amug.org/~glguerin/security/jdk-1.1/exposure.html

Unlike PGP, javakey can be exported and is free for commercial use in the US (although there are claims to the contrary). Of course it doesn't do encryption, only signatures, but you can certify anything you want about any key, which leads to the general notion of "capability certificates".

Disclaimers

This is a very complex and fast-moving field. Take anything anyone says (including me) with a skeptical attitude. Feel free to ask questions and provide your own expertise.

Poll: who has used signed code? Published it? PGP key?

Introduction

Javakey Safety Tips

Key database Audit.java

Public DSA Key Server

Other Public Key Infrastructures

Conclusions

Pointers


Neal McBurnett <nealmcb@bell-labs.com> for Boulder Java Users Group
Last modified: Sun Apr 29 21:22:10 MDT 2001

Sample output of Audit.java, in PGP-inspired format

Each "pub" line describes a public key, followed by the fingerprint for the key.

Each pair of lines after that consists of a name to be signed and a "sig" line which describes who signed it. The name of the signee is always indented one space less than the name of the signer, and is always on the immediately preceding line, in this implementation. E.g., the second-to-last sig line indicates that key d57e6e36 (the "CA" key) is signing the association of the name
"CN=nealmcb@bell-labs.com, OU=jar-signer, O=, C=" with key d5b314cc.

The dates are not yet implemented.

WARNING: [Signer]testsigner[identitydb.obj][not trusted]: Keep private keys encrypted!
Type bits/keyID    Date       User ID
pub  1024/d57e6e36 1997/mm/dd d57e6e36[identitydb.obj][not trusted]
          Key fingerprint = 8C 57 2F 5A AF 38 9B 3F  4C 65 DF 19 33 E3 7F 40
                              CN="Neal McBurnett ", OU=CA, O=, C=
sig       d57e6e36             CN="Neal McBurnett ", OU=CA, O=, C=
pub   512/dedfc0fd 1997/mm/dd CN=Neal McBurnett - don't rely too much on this, OU=Bell Labs, O=Lucent Technologies, C=US[identitydb.obj][not trusted]
          Key fingerprint = 94 CB AA 08 0E EB B4 5E  26 9E 92 40 B0 9C 6E F8
                              CN=Neal McBurnett - don't rely too much on this, OU=Bell Labs, O=Lucent Technologies, C=US
sig       dedfc0fd             CN=Neal McBurnett - don't rely too much on this, OU=Bell Labs, O=Lucent Technologies, C=US
pub   512/e8fd3554 1997/mm/dd [Signer]testsigner[identitydb.obj][not trusted]
          Key fingerprint = BD 8A BA D6 2D 01 46 7A  5A A1 00 E0 BE 1D 0A 69
pub   768/d5b314cc 1997/mm/dd d5b314cc[identitydb.obj][not trusted]
          Key fingerprint = 74 92 AA 71 E2 F0 B7 A5  D8 31 60 80 4C 85 E5 08
                              CN=nealmcb@bell-labs.com, OU=jar-signer, O=, C=
sig       d57e6e36             CN="Neal McBurnett ", OU=CA, O=, C=
                              CN=nealmcb@bell-labs.com, OU=jar-signer, O=, C=
sig       d5b314cc             CN=nealmcb@bell-labs.com, OU=jar-signer, O=, C=