This is a two-step process. First the SSL certificates need to be created, and then the jigsaw server needs to be configured. One item not covered in this document is the importing of already existing certificates.
make sure that jdk 1.4 is being used
We are going to be using the SSL implementation from Sun. Mainly the keytool (http://java.sun.com/j2se/1.4/docs/tooldocs/solaris/keytool.html) is used to configure the SSL certificates. If keytool is not in your default PATH, you can find it in the "bin" directory of your JDK installation.
Example:
keytool -genkey -alias troi.example.com -keypass example -keystore
/opt/jigsaw/dev/Jigsaw/keystore/troi.keystore -keyalg RSA
Example - specifying the output is put into a file:
keytool -certreq -alias troi.example.com -keypass example -keystore
/opt/jigsaw/dev/Jigsaw/keystore/troi.keystore -file troi.csr
-----BEGIN NEW CERTIFICATE REQUEST----- MIICgTCCAj4CAQAwezELMAkGA1UEBhMCVVMxETAPBgAAAAgTCElsbGlub2lzMRYwFAYDVQQHEw1E b3duZXJzIEdyb3ZlMRAwDgYDVQQKEwdQZXJzZWNvMRkwFwYDVQQLExBCdXNpbmVzcyBTeXN0ZW1z MRQwEgYDVQQDEwtCcmlhbiBMYWlyZDCCAbgwggEsBgcqhkjOOAQBMIIBHwKBgQD9f1OBHXUSKVLf Spwu7OTn9hG3UjzvRADDHj+AtlEmaUVdQCJR+1k9jVj6v8X1ujD2y5tVbNeBO4AdNG/yZmC3a5lQ paSfn+gEexAiwk+7qdf+t8Yb+DtX58aophUPBPuD9tPFHsMCNVQTWhaRMvZ1864rYdcq7/IiAxmd 0UgBxwIVAJdgUI8VIwvMspK5gqLrhAvwWBz1AoGBAPfhoIXWmz3ey7yrXDa4V7l5lK+7+jrqgvlX TAs9B4JnUVlXjrrUWU/mcQcQgYC0SRZxI+hMKBYTt88JMozIpuE8FnqLVHyNKOCjrh4rs6Z1kW6j fwv6ITVi8ftiegEkO8yk8b6oUZCJqIPf4VrlnwaSi2ZegHtVJWQBTDv+z0kqA4GFAAKBgQDc5Ki4 7dX93se92yzYjxJIi99R9EZYHu4sNUH9obMQYO7o5u/3AOkxzqHLx60wWbf9JoCAlMe8q2i28NNC hjsN6LN7V0fgA05k/CzM9pMxbgeA0dqwQrtroWkJnFyzzFLrxjv7Rrh5RDGV/+ZeR72ZpHwy1GOj yDB2Dz+NE98sgKAAMAsGByqGSM44BAMFAAMwADAtAhRumfMg6P1KJmstMYga74KxaPLBfgIVAIwB bVanNqQb898bqHBkRybHIFqW -----END NEW CERTIFICATE REQUEST-----
now we will import the response from the certificate authority.
keytool -import -alias sis.example.com -keystore sis.keystore -file sis.cer
-keyalg RSA -trustcacerts
ans skip the next point (related to self-signature)
keytool -selfcert -alias troi.example.com -keystore
/opt/jigsaw/dev/Jigsaw/keystore/troi.keystore -keyalg RSA
#Explicitly enables general SSL support org.w3c.jigsaw.ssl.enabled=true # Points to the key store (cf. 4. above, don't forget to put the full path to the keystore) org.w3c.jigsaw.ssl.keystore.path= # Supplies the key store access password org.w3c.jigsaw.ssl.keystore.password= #Finally, the socket client factory has to be set to the SSL factory: org.w3c.jigsaw.http.ClientFactory=org.w3c.jigsaw.https.socket.SSLSocket ClientFactory
Of course you may change the default port to use the default one for SSL: 443 (or any other you like and not yet used)
You should also change the propfile value to match the name of your configuration file.
Example - note the piece in bold. That lets jigsaw know which
listener daemon to start:
https-server.org.w3c.jigsaw.daemon.class=org.w3c.jigsaw.https.httpsd
This should cover the setup requirements. You should be able to start jigsaw and see something like the following when the start up occurs:
Jigsaw[2.2.2]/SSL[1.0.2]: serving at http://troi:8002/