1.3 Certyfikaty samopodpisane

UWAGA:Informacje zawarte w tej części nie dotyczą platformy OES Linux, w której jest instalowany zarówno serwer Tomcat, jak i Apache. Informacje o zamianie samopodpisanego certyfikatu serwera Apache/Tomcat można znaleźć w dokumentacji systemu OES Linux.

Instalacje autonomiczne programu iManager zawierają tymczasowy, samopodpisany certyfikat, używany przez serwer Tomcat. Okres ważności tego certyfikatu to jeden rok.

Nie jest on przeznaczony do implementacji długoterminowej. Jest to rozwiązanie tymczasowe umożliwiające skonfigurowanie i uruchomienie systemu, aby można było bezpiecznie używać programu iManager od razu po przeprowadzeniu instalacji. W standardzie OpenSSL korzystanie z certyfikatów samopodpisanych nie jest zalecane, chyba że w celach związanych z testowaniem.

Jednym z powodów zamiany samopodpisanego certyfikatu jest fakt, że domyślny magazyn kluczy serwera Tomcat jest w formacie pliku serwera Tomcat (JKS). Narzędzie służące do modyfikowania tego magazynu kluczy, keytool, nie może importować kluczy prywatnych. Użyje ono tylko klucza samogenerowanego.

Jeśli używana jest usługa eDirectory, można bez dalszych inwestycji używać serwera Novell Certificate Server do bezpiecznego generowania, śledzenia, przechowywania i odwoływania certyfikatów. Aby wygenerować parę kluczy publicznych/prywatnych w usłudze eDirectory przy użyciu serwera Novell Certificate Server, należy wykonać następujące kroki z części odpowiedniej dla używanej platformy:

1.3.1 Linux

Poniższe instrukcje przedstawiają sposób tworzenia pary kluczy w usłudze eDirectory oraz eksportowania klucza publicznego, klucza prywatnego i klucza głównego ośrodka certyfikacji za pośrednictwem pliku PKCS#12 na platformie Linux. Obejmuje to modyfikację pliku konfiguracji server.xml serwera Tomcat w celu użycia dyrektywy PKCS12 i nakierowania konfiguracji na rzeczywisty plik P12 zamiast używania domyślnego magazynu kluczy JKS.

W tym procesie są używane następujące pliki:

  • Tymczasowa para kluczy jest przechowywana w pliku /var/opt/novell/novlwww/.keystore.

  • Zaufane certyfikaty główne są zawarte w pliku /opt/novell/jdk1.7.0_25/jre/lib/security/cacerts.

  • Plik służący do konfigurowania używania certyfikatów przez serwer Tomcat to /etc/opt/novell/tomcat7/server.xml.

Procedura

  1. Utwórz nowy certyfikat serwera za pomocą programu iManager.

    W programie iManager wybierz kolejno opcje Novell Certificate Server > Utwórz certyfikat serwera. Wybierz właściwy serwer, określ nazwę skróconą i zaakceptuj pozostałe ustawienia domyślne certyfikatu.

  2. Wyeksportuj certyfikat serwera do katalogu domowego serwera Tomcat (/var/opt/novell/novlwww). W programie iManager wybierz kolejno opcje Administrowanie katalogiem > Modyfikuj obiekt. Odszukaj metodą przeglądania i wybierz obiekt KMO (Key Material Object). Na karcie Certyfikaty wybierz opcję Eksportuj. Określ hasło i zapisz certyfikat serwera jako plik PKCS#12 (z rozszerzeniem pfx).

  3. Przekonwertuj plik pfx na plik pem.

    W tym celu użyj polecenia podobnego do następującego:

    openssl pkcs12 -in newtomcert.pfx -out newtomcert.pem
    

    Podaj hasło certyfikatu określone w kroku etap 2, a następnie określ hasło dla nowego pliku pem. W razie potrzeby możesz użyć tego samego hasła.

  4. Przekonwertuj plik pem na plik p12.

    W tym celu użyj polecenia podobnego do następującego:

    openssl pkcs12 -export -in newtomcert.pem -out newtomcert.p12 -name "New Tomcat"
    

    Podaj hasło certyfikatu określone w kroku etap 3, a następnie określ hasło dla nowego pliku p12. W razie potrzeby możesz użyć tego samego hasła.

  5. Wprowadź następujące polecenie w celu zatrzymania serwera Tomcat:

    /etc/init.d/novell-tomcat7 stop
    
  6. Zmodyfikuj plik konfiguracji serwera Tomcat (/etc/opt/novell/tomcat7.0.42/server.xml) i dodaj zmienne keystoreType, keystoreFile oraz keystorePass, aby umożliwić serwerowi Tomcat użycie nowo utworzonego pliku certyfikatu p12. Na przykład:

    <Connector className="org.apache.coyote.tomcat7.CoyoteConnector"
     port="8443" minProcessors="5" maxProcessors="75" enableLookups="true"
     acceptCount="100" debug="0" scheme="https" secure="true"
     useURIValidationHack="false" disableUploadTimeout="true">
       <Factory className="org.apache.coyote.tomcat7.CoyoteServerSocketFactory"
     clientAuth="false" protocol="TLS" keystoreType="PKCS12"
     keystoreFile="/var/opt/novell/novlwww/newtomcert.p12" keystorePass="password" />
    </Connector>
    

    UWAGA:W przypadku ustawienia jako typu magazynu kluczy opcji PKCS12 należy podać pełną ścieżkę do pliku certyfikatu, ponieważ serwer Tomcat nie używa już domyślnie ścieżki domowej serwera Tomcat.

  7. Zmień właściciela pliku p12 na odpowiedniego użytkownika/grupę serwera Tomcat (zwykle novlwww) i ustaw uprawnienia pliku na user=rw, group=rw, and others=r. Na przykład:

    chown novlwww:novlwww newtomcert.p12
    
    chmod 654 newtomcert.p12
    
  8. Wprowadź następujące polecenie w celu ponownego uruchomienia serwera Tomcat:

    /etc/init.d/novell-tomcat7 start
    

1.3.2 Windows

Poniższe instrukcje przedstawiają sposób tworzenia pary kluczy w usłudze eDirectory i eksportowania klucza publicznego, klucza prywatnego i klucza głównego ośrodka certyfikacji za pośrednictwem pliku PKCS#12 na platformie Windows. Obejmuje to modyfikację pliku konfiguracji server.xml serwera Tomcat w celu użycia dyrektywy PKCS12 i nakierowania konfiguracji na rzeczywisty plik P12 zamiast używania domyślnego magazynu kluczy JKS.

Pliki skojarzone z tym procesem (i ich położenia domyślne) to:

  • Tymczasowa para kluczy: C:\Program Files\Novell\Tomcat\conf\ssl\.keystore.

  • Zaufane certyfikaty główne: C:\Program Files\Novell\jre\lib\security\cacerts.

  • Konfiguracja używania certyfikatu przez serwer Tomcat: C:\Program Files\Novell\Tomcat\conf\server.xml.

Procedura

  1. Utwórz nowy certyfikat serwera za pomocą programu iManager.

    W programie iManager wybierz kolejno opcje Novell Certificate Server > Utwórz certyfikat serwera. Wybierz właściwy serwer, określ nazwę skróconą i zaakceptuj pozostałe ustawienia domyślne certyfikatu.

  2. Wyeksportuj certyfikat serwera. W programie iManager wybierz kolejno opcje Administrowanie katalogiem > Modyfikuj obiekt. Odszukaj metodą przeglądania i wybierz obiekt KMO. Na karcie Certyfikaty wybierz opcję Eksportuj. Określ hasło i zapisz certyfikat serwera jako plik PKCS#12 (z rozszerzeniem pfx).

  3. Przekonwertuj plik pfx na plik pem.

    UWAGA:Oprogramowanie OpenSSL nie jest zainstalowane domyślnie w systemie Windows, ale wersja dla platformy Windows jest dostępna w witrynie oprogramowania OpenSSL w sieci Web. Można też przekonwertować certyfikat na platformie Linux, na której oprogramowanie OpenSSL jest zainstalowane domyślnie.

    W tym celu użyj polecenia podobnego do następującego:

    openssl pkcs12 -in newtomcert.pfx -out newtomcert.pem
    

    Podaj hasło certyfikatu określone w kroku etap 2, a następnie określ hasło dla nowego pliku pem. W razie potrzeby możesz użyć tego samego hasła.

  4. Przekonwertuj plik pem na plik p12.

    W tym celu użyj polecenia podobnego do następującego:

    openssl pkcs12 -export -in newtomcert.pem -out newtomcert.p12 -name "New Tomcat"
    

    Podaj hasło certyfikatu określone w kroku etap 3, a następnie określ hasło dla nowego pliku p12. W razie potrzeby możesz użyć tego samego hasła.

  5. Skopiuj plik p12 do położenia certyfikatu serwera Tomcat.

    Domyślnie jest to następująca lokalizacja: C:\Program Files\Novell\Tomcat\conf\ssl\.

  6. Zatrzymaj usługę Tomcat.

    /etc/init.d/novell-tomcat7 stop
    
  7. Zmodyfikuj plik server.xml serwera Tomcat i dodaj zmienne keystoreType, keystoreFile oraz keystorePass, aby umożliwić serwerowi Tomcat użycie nowo utworzonego pliku certyfikatu p12. Na przykład:

    <Connector className="org.apache.coyote.tomcat7.CoyoteConnector"
     port="8443" minProcessors="5" maxProcessors="75" enableLookups="true"
     acceptCount="100" debug="0" scheme="https" secure="true"
     useURIValidationHack="false" disableUploadTimeout="true">
       <Factory className="org.apache.coyote.tomcat7.CoyoteServerSocketFactory"
     clientAuth="false" protocol="TLS" keystoreType="PKCS12"
     keystoreFile="/conf/ssl/newtomcert.p12" keystorePass="password" />
    

    W przypadku ustawienia jako typu magazynu kluczy opcji PKCS12 należy podać pełną ścieżkę do pliku certyfikatu, ponieważ serwer Tomcat nie używa już domyślnie ścieżki domowej serwera Tomcat.

  8. Uruchom usługę Tomcat.