Credo HOWTO

Create your own Credo file signkey

Necessary software

I used the JDK 1.4 from Sun.

Generate your key

Run the command (you can replace 'oav' with anything you want in this and the following commands)
keytool -genkey -alias oav -validity 730 -keystore oav.keystore
and answer the questions. This will generate a key with a validity of 2 years.

Generate a certification request

Run the command
keytool -certreq -alias oav -keystore oav.keystore -file oav.certreq
Send the file 'oav.certreq' to us and convince us, that you are the one your pretend to be ;-)

Importing the certificates

First you have to import the CA certficate from the OpenAntivirus Project:
keytool -import -alias oavlevel4 -keystore oav.keystore -file oav.cer.level4
The level depends on the level that you have been assigned from the CA. You can find the 'oav.cer.level?' files in the JAR-files and on the webpage. Then you can import the certificate from the CA:
keytool -import -alias oav -keystore oav.keystore -file oav.der

Generating Credo files

Credo files are simple JAR-files. Create them like this:
jar cvf VirusSignatures.credo virussignatures.strings

Signing Credo files

With your signed key, you can sign your Credo files:
jarsigner -keystore oav.keystore VirusSignatures.credo oav
That's it. Have fun!

Being your own certification authority (CA)

If you have any reason to trust our code but not our master keys, this is how to generate your own keys. You have to replace the files in the 'certificates' directory of the corresponding JAR-files, so that they work. This is more a documentation for us, so that we know how we did it.

Necessary software

I used the OpenSSL package that came with SuSE Linux 8.0

Generating the keys

Create a new directory, then issue the following (Linux-)commands:
mkdir demoCA
mkdir demoCA/certs
mkdir demoCA/crl
mkdir demoCA/newcerts
mkdir demoCA/private
echo "01" > demoCA/serial
touch demoCA/index.txt
openssl req -new -x509 -keyout demoCA/private/cakey.pem -out demoCA/cacert.pem -newkey rsa:1024 -days 1826
This will generate a new CA-key that is valid for about 5 years and has a RSA modulus with 1024 bits. If you want to do it right, you need 4 keys for the 4 levels. The keytool from Sun does not like the PEM format, so you have to convert it to DER:
openssl x509 -outform der -in demoCA/cacert.pem -out oav.cer.level1

Signing certification requests

Now you can sign certification requests:
openssl ca -cert demoCA/cacert.pem -policy policy_anything -days 365 -infiles oav.certreq
This will sign the 'oav.certreq' for 365 days. You have to convert this to DER format, too:
openssl x509 -outform der -in demoCA/newcerts/01.pem -out oav.der
This file can be sent back to the applicant.

$Id: Credo-Howto.html,v 1.1 2002/04/11 15:42:06 kurti Exp $