I just want to add that there is an excellent GUI software for managing all of this stuff (built on OpenSSL), namely xca: http://sourceforge.net/projects/xca/ <http://sourceforge.net/projects/xca/>
Best, D. > On Mar 25, 2015, at 10:42 AM, Waldbieser, Carl <[email protected]> wrote: > > Gianluca, > > This site [1] has useful `keytool` examples. You should be able to view the > contents of your keystore with something like: > > $ keytool -l -v -keystore /path/to/your/keystore.jks > > There are some useful troubleshooting tips on SO [2]. > > To configure Tomcat to use the keystore, you need to set up a connector like > the following in $CATALINA_HOME/conf/server.xml: > > <Connector > protocol="org.apache.coyote.http11.Http11Protocol" > > SSLImplementation="edu.internet2.middleware.security.tomcat6.DelegateToApplicationJSSEImplementation" > port="443" > scheme="https" > secure="true" > clientAuth="false" > SSLEnabled="true" > emptySessionPath="true" > sslProtocol="TLS" > keystoreFile="/path/to/your/keystore.jks" > keystorePass="YourKeystorePassword" > truststoreFile="/path/to/your/keystore.jks" > truststorePass="YourKeystorePassword" > truststoreAlgorithm="DelegateToApplication" > /> > > The exact parameters may vary a bit depending on your version of Tomcat or > other preferences you may have. > > > [1] > https://www.sslshopper.com/article-most-common-java-keytool-keystore-commands.html > [2] http://stackoverflow.com/questions/2138940/import-pem-into-java-key-store > > Thanks, > Carl > > ----- Original Message ----- > From: "Gianluca Diodato" <[email protected]> > To: [email protected] > Cc: [email protected], [email protected], > [email protected], [email protected] > Sent: Wednesday, March 25, 2015 10:21:05 AM > Subject: Re: [cas-user] SSL problem (I need tutorial!!) Cas Server on remote > machine , Java Cas Client other machine > > Carl, > thank you very much for detailed answer. > I'm in until 4)... I have created this files: > - casserver.crt > - casserver.key > - casserver.csr > - rootCA.pem > - rootCA.key > - rootCA.srl > > In 5) I have to install the private key and public certificate in my CAS > server using java `keytool` (i don't know how... ) and configuring Tomcat > to use the keystore I created( i'm in!!). > It is this the instruction? keytool -import -trustcacerts -alias *mydomain* > -file *mydomain.crt* -keystore > > *keystore.jks*Thanks > Gianluca > > Il giorno mercoledì 25 marzo 2015 14:21:07 UTC+1, Waldbieser, Carl ha > scritto: >> >> Gianluca, >> >> For development, I like to use the openssl tools to create my own CA and >> use it to sign my own certificates rather than using a self-signed >> certificate. >> Here are the notes I use. Lines starting with ($) are the actual commands >> I enter into the terminal. >> >> ================ >> Create My Own CA >> ================ >> >> # Create CA key >> $ openssl genrsa -des3 -out rootCA.key 2048 >> # Create and self-sign CA cert. >> $ openssl req -x509 -new -nodes -key rootCA.key -days 1024 -out rootCA.pem >> >> ------------ >> Create a Key >> ------------ >> $ openssl genrsa -out example.key 2048 >> >> ------------------------------------ >> Create a Certificate Signing Request >> ------------------------------------ >> $ openssl req -new -key example.key -out example.csr >> >> ---------- >> Sign a CSR >> ---------- >> openssl x509 -req -in example.csr -CA rootCA.pem -CAkey rootCA.key >> -CAcreateserial -out example.crt -days 500 >> >> >> So first, I generate a CA key and cert (first 2 commands). This is >> something you only need to do once, but you have to keep the key somewhere >> you can find it, and you need to remember the password you choose for it as >> you will use this key to sign your certs. >> >> Next, whenever you set up a develoment *server*, you create a private key >> for the server (command under "Create a Key" section) and a certificate >> signing request (section "Create a certificate signing request). >> >> Finally, you use the CA you generated to sign the CSR and generate a >> public certificate for the server (section "Sign a CSR"). These steps are >> basically what real CAs do, but they need to be a lot more careful with >> their keys and their CA public certs are typically already included in your >> browser. >> >> It is worth noting that the OpenSSL tool commands above generate keys and >> certs in PEM format, which is a text format you can view in an editor. The >> CAS server runs as a Java servlet, so it uses a Java keystore format (a >> file that sometimes has a .jks extension). You need to use the Java >> `keytool` command to import certificates and private keys into the Java >> keystore. >> >> Browsers will typically accept certificates in a variety of formats. >> >> So for your CAS setup, I would: >> >> 1) Generate a CA key and certificate. >> 2) Generate a private key for my CAS server. >> 3) Generate a CSR for the CAS server private key. >> 4) Use my CA key to sign the CAS server CSR and create a public >> certificate. >> 5) Install the private key and public certificate in my CAS server using >> java `keytool` and configuring Tomcat to use the keystore I created. >> Alternatively, if I have Apache in front of Tomcat and am using >> something like mod_ajp, I can just use the PEM files in my Apache config >> and not worry about SSL in Tomcat. >> 6) Import my CA public cert into my browser. >> 7) Test that the CAS server cert is accepted by my browser (hit the >> /logout URL and verify the cert gives me the "green lock" icon). >> 8) Repeat steps 2-5 for my server with the CAS client app. >> 9) Since the CAS client app is actually going to make an HTTPS request >> to CAS using a back-channel, you have to make sure that the >> HTTPS Java client it uses trusts your CA. I am not sure how to >> configure this *specifically* for only that client, but I believe >> you can import your CA into the system-wide Java CA-certs keystore. >> Its name is typically "cacerts", but the location on your >> system may vary. >> >> Thanks, >> Carl >> >> ----- Original Message ----- >> From: "Gianluca Diodato" <[email protected] <javascript:>> >> To: [email protected] <javascript:> >> Cc: [email protected] <javascript:>, [email protected] >> <javascript:>, [email protected] <javascript:> >> Sent: Wednesday, March 25, 2015 6:24:44 AM >> Subject: Re: [cas-user] SSL problem (I need tutorial!!) Cas Server on >> remote machine , Java Cas Client other machine >> >> Hi Carl, >> thanks to your answer. >> First of all, yes it is a development environment. >> I create my own CA into server machine (CAS Server) with this tutorial >> (http://tekyhost.com/ubuntu-12-04-and-tomcat-7-ssl-implementation/) and >> everything works fine (https://localhost:8443/cas/login and on other >> mychine https://my_ip_server:8443/cas/login). I follows this >> tutorial http://jasig.github.io/cas/4.0.x/index.html and for the >> authentication i create a db (mySQL) with a table users (2 columns: email, >> password(MD5)). In the other machine I'm developing a web application >> (J2EE >> in Eclipse) and I'm searching to connect login page to cas login page via >> web.xml adding filters (https://cuit.columbia.edu/cas-ify-java-application) >> >> via SSL. >> For my client machine, have I to create another own CA or have I to import >> server CA into $JAVA_HOME/jre/lib/security/cacerts (client)?? >> Sorry but all this is new for me!! >> >> Thanks >> Gianluca >> >> Il giorno martedì 24 marzo 2015 16:29:55 UTC+1, Waldbieser, Carl ha >> scritto: >>> >>> >>> Gianluca, >>> >>> Is this a development environment or is it a production environment >> where >>> user's web browsers need to trust the certificate? In the latter case, >> you >>> will need to generate a private key, make a certificate request, and get >>> certificate signed from a Certificate Authority (CA). >>> >>> In a development environment, it is possible to be your own CA. You >> would >>> basically do the same things as in production, but you would need to add >>> the local CA certificates to the browsers you will be testing. If you >> use >>> proxy CAS, your CAS server will also need to trust your private CA. >>> >>> Thanks, >>> Carl Waldbieser >>> ITS System Programmer >>> Lafayette College >>> >>> ----- Original Message ----- >>> From: "Gianluca Diodato" <[email protected] <javascript:>> >>> To: [email protected] <javascript:> >>> Sent: Tuesday, March 24, 2015 11:10:29 AM >>> Subject: [cas-user] SSL problem (I need tutorial!!) Cas Server on remote >>> machine , Java Cas Client other machine >>> >>> Hi All, >>> can anyone help me with my configuration problem as subject?? >>> I need to configure my envorinment to SSL like this: >>> >>> Machine 1: CAS SERVER -- Ubuntu 12.04 - Tomcat 7 - JDK 1.6 -- SSL >>> certificate generate with openssl + apr and added to Tomcat + Users into >>> MysqlDB (WORKS) >>> Machine 2: Cas Client java 3.3.3 (jar) imported into my webapp with only >>> welcome page at moment -- Eclipse Luna + Tomcat 7 + JDK 1.6 >>> >>> In machine 2 how to generate trusted certificate in order to connect my >>> client to CAS Server to login my users? >>> Anyone know if exists tutorial or guide step-by-step even basic. >>> >>> Please, help me >>> >>> Gianluca >>> >>> -- >>> You are currently subscribed to [email protected] <javascript:> >> as: >>> [email protected] <javascript:> >>> To unsubscribe, change settings or access archives, see >>> http://www.ja-sig.org/wiki/display/JSG/cas-user >>> >>> -- >>> You are currently subscribed to [email protected] <javascript:> >> as: >>> [email protected] <javascript:> >>> To unsubscribe, change settings or access archives, see >>> http://www.ja-sig.org/wiki/display/JSG/cas-user >>> >> >> -- >> You are currently subscribed to [email protected] <javascript:> as: >> [email protected] <javascript:> >> To unsubscribe, change settings or access archives, see >> http://www.ja-sig.org/wiki/display/JSG/cas-user >> >> > > -- > You are currently subscribed to [email protected] as: > [email protected] > To unsubscribe, change settings or access archives, see > http://www.ja-sig.org/wiki/display/JSG/cas-user > -- You are currently subscribed to [email protected] as: [email protected] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/cas-user
