Top
Aplikacja www

2 kroki do konfiguracji SSL w serwerze Apache Tomcat

Tomcat i konfiguracja SSL

Po dłuższej przerwie zabrałem się ponownie za projekt konkursowy. Kwestie bezpieczeństwa były dla mnie nieznanym tematem, jednak powoli zgłębiam ten temat. Tak jak wcześniej pisałem skłaniam się w kierunku zmiany koncepcji i logowania za pomocą Google Sign-In. W tym celu niezbędna jest konfiguracja Tomcata, aby obsługiwał protokół HTTPS.

2 kroki do konfiguracji SSL w serwerze Apache Tomcat

  1. Konieczne jest stworzenie certyfikatu. Stworzyłem go za pomocą komendy “keytool” znajdującej się w folderze “bin” zainstalowanej na naszym komputerze Javy. Polecenie stworzenia certyfikatu wyglądał następująco:
    /path/to/folder/wher/is/keytool ./keytool -genkey -alias tomcat -keyalg RSA -keystore /path/to/folder/fileName

    W praktyce jak poniżej:

    mateusz@mateusz-X555LD:/usr/lib/jvm/java-8-oracle/jre/bin$ /usr/lib/jvm/java-8-oracle/jre/bin$ ./keytool -genkey -alias tomcat -keyalg RSA -keystore /home/mateusz/Programs/ApacheTomcat/testCertificate

    Następnie podajemy hasło do naszego certyfikatu i odpowiednie dane, o które zostaniemy zapytanie.
    W moim przypadku wszędzie podałem “Test”.

    Na końcu zostaniemy zapytanie o potwierdzenie podanych danych. Wpisujemy “yes” i wybieramy “Enter”. Ponownie zostajemy zapytanie o hasło.

    Tak to wygląda w całości

    mateusz@mateusz-X555LD:/usr/lib/jvm/java-8-oracle/jre/bin$ ./keytool -genkey -alias tomcat -keyalg RSA -keystore /home/mateusz/Programs/ApacheTomcat/testCertificate
    Enter keystore password:  
    Re-enter new password: 
    What is your first and last name?
      [Unknown]:  Test
    What is the name of your organizational unit?
      [Unknown]:  Test
    What is the name of your organization?
      [Unknown]:  Test
    What is the name of your City or Locality?
      [Unknown]:  Test
    What is the name of your State or Province?
      [Unknown]:  Test
    What is the two-letter country code for this unit?
      [Unknown]:  PL
    Is CN=Test, OU=Test, O=Test, L=Test, ST=Test, C=PL correct?
      [no]:  yes
    
    Enter key password for <tomcat>
    (RETURN if same as keystore password):  
    Re-enter new password: 
    
  2. Kolejno skonfigurowałem serwer Tomcat. Otworzyłem plik “server.xml” znajdujący się w tej lokalizacji:
    Folder w którym zainstalowano Apache Tomcat->conf->server.xml. W pliku tym dodałem taki oto fragment kodu:

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
                   maxThreads="150" SSLEnabled="true">
            <SSLHostConfig>
                <Certificate certificateKeystoreFile="/home/mateusz/Programs/ApacheTomcat/testCertificate" certificateKeystorePass="changeit" 
                             type="RSA" />
            </SSLHostConfig>
        </Connector>
    

    certificateKeystoreFile – ścieżka do wcześniej stworzonego certyfikatu

    certificateKeystorePass – hasło do certyfikatu

    Odpalając teraz serwer Apache Tomcat poleceniem poniżej:

    mateusz@mateusz-X555LD:~/Programs/ApacheTomcat/apache-tomcat-8.5.14/bin$ ./startup.sh

    widzimy, że uruchomił się na “https://localhost:8443/” . Co prawda wyskakuje informacja, że połączenie nie jest bezpieczne – jednak w obecnej chwili nie będę się tym zajmował.

  3. Kolejne krokiem będzie ustawienie odpowiednio naszej aplikacji w pliku “web.xml“, oraz podanie które serwlety będą obsługiwane za pomocą “HTTPS“. Możliwe będzie też ustawieni całej aplikacji w ten sposób.

 
 

Portal greendev.in nie jest kolejnym standardowym portalem dla programistów. To strona dla ludzi spędzających większość dnia na krześle. Właśnie tutaj dowiesz się jak Twój umysł może wejść na wyższy poziom, a Ty po prostu czuć się lepiej i zdrowiej każdego dnia.

Strona zawiera informacje i przemyślenia autora które mogą nie być zgodne z korporacyjnymi zasadami oraz wytycznymi idealnych praktyk programowania. Jednak nauka programowania to próby, pomyłki i zbieranie doświadczenia z tych błędów. Autor rekomenduje własne refleksje i nie przyjmowanie przedstawianych koncepcji za jedyne słuszne.

Więcej informacji na temat strony znajdziesz tutaj http://www.greendev.in/o-stronie/.

Jeżeli tylko chcesz mnie lepiej poznać wpadnij na http://www.greendev.in/kim-jestem/.