I hope you can help me. I'm about to sign jar-files with a self created
certificate using OpenSSL.
The jar-File contains an old Java-Applet which Java is blocking (as long as
it is not signed) in the browser since version 7.51. Once it is signed, I
just have to install the certificate (in the system / browser / JRE).

Right now I have a problem signing the certification request (see below
"Step 7"): "unable to load certificate". What do I have to change to pass
this step? In addition I am not sure about the further steps (which I also
added below). Could you pls also tell me if these are right?

Thank you in advance for any help.

1.) Create folder structure cd test mkdir private certs newcerts conf
export csr echo '01' > serial touch index.txt export
OPENSSL_CONF=/home/joerg/cacerts/myca/openssl.cnf

2.) Create the Certificate Authority
openssl req -new -x509 -days 3650 -keyform PEM -outform PEM -keyout
test/private/cakey.pem -out test/cacert.pem

3.) Copy the CA into a format which can be managed by the Java-keystore:
openssl x509 -outform der -in test/cacert.pem -out test/cacert.crt

4.) Generate Keystore
keytool -genkey -keystore javakeystore.jks -alias test

5.) Check Keystore
keytool -list -keystore javakeystore.jks -storepass "whatever"

Keystore-Typ: JKS
Keystore-Provider: SUN

Keystore enthält 1 Eintrag

test, 13.11.2014, PrivateKeyEntry,
Zertifikat-Fingerprint (SHA1):
38:D0:44:2A:35:C8:60:F1:CD:7F:0E:41:6D:E6:DC:23:7C:49:96:23

6.) Create certification request
keytool -certreq -v -file test/certs/caRequest.csr -alias "test" -keystore
javakeystore.jks -storepass "whatever"

7.) Sign the certificate with the CA
openssl ca -days 365 -in test/certs/caRequest.csr -out
test/newcerts/caRequest.pem -policy policy_anything
Using configuration from /home/joerg/cacerts/myca/openssl.cnf
Enter pass phrase for /home/joerg/cacerts/myca/test/private/cakey.pem:
unable to load certificate
140116933408416:error:0906D06C:PEM routines:PEM_read_bio:no start
line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE
~~/cacerts/myca$

My plan is to continue like this:

8.)
openssl x509 -in test/newcerts/caRequest.pem -out
test/newcerts/caRequest.pem -outform PEM

9.)
openssl x509 -outform der -in test/newcerts/caRequest.pem -out
test/newcerts/caRequest.crt

10.) Concatenate the certificate chain
cat test/newcerts/caRequest.pem test/cacert.pem >
test/newcerts/caRequest.chain

11.) Indicate that I trust this CA
keytool -import -trustcacerts -file test/cacert.pem -alias test -keystore
javakeystore.jks -storepass "whatever"

12.) Import it into your keystore
keytool -import -file test\newcerts\caRequest.chain -alias test1 -keystore
javakeystore.jks -storepass "whatever"

13.) Sign jar file
jarsigner -keystore javakeystore.jks TestApplet.jar test

Reply via email to