Praca z protokołem OCSP (Online Certificate Status Protocol)

Produkt IBM® MQ określa, który program odpowiadający OCSP (Online Certificate Status Protocol) zostanie użyty i obsługuje odebraną odpowiedź. Udostępnienie programu odpowiadającego OCSP może wymagać wykonania odpowiednich czynności.

Obiekt informacji uwierzytelniającej zawiera informację uwierzytelniającą, która jest używana podczas sprawdzania, czy certyfikat TLS został odwołany.
Uwaga: Te informacje dotyczą tylko produktu IBM MQ w systemach UNIX i Windows. Poniższa tabela zawiera dane dotyczące obsługi informacji uwierzytelniających TLS w produkcie IBM MQ na różnych platformach:
Tabela 1. Sposoby obsługi informacji uwierzytelniających przez protokół TLS produktu IBM MQ na różnych platformach
Platforma Obsługa
[Windows]Produkt IBM MQ w systemach Windows Implementacja protokołu TLS w produkcie IBM MQ obsługuje sprawdzanie statusu odwołania certyfikatów przy użyciu protokołu OCSP lub przy użyciu list CRL i ARL dostępnych na serwerach LDAP, przy czym protokół OCSP jest metodą preferowaną. Produkt IBM MQ classes for Java™ nie może używać informacji OCSP z pliku tabeli definicji kanału klienta. Można jednak skonfigurować protokół OCSP w sposób opisany w sekcji Unieważnione certyfikaty i protokół OCSP w Centrum Wiedzy IBM.
[UNIX]Produkt IBM MQ w systemach UNIX Implementacja protokołu TLS w produkcie IBM MQ obsługuje sprawdzanie statusu odwołania certyfikatów przy użyciu protokołu OCSP lub przy użyciu list CRL i ARL dostępnych na serwerach LDAP, przy czym protokół OCSP jest metodą preferowaną. Produkt IBM MQ classes for Java nie może używać informacji OCSP z pliku tabeli definicji kanału klienta. Można jednak skonfigurować protokół OCSP w sposób opisany w sekcji Unieważnione certyfikaty i protokół OCSP w Centrum Wiedzy IBM.
[z/OS]Produkt IBM MQ w systemach z/OS Implementacja protokołu TLS w produkcie IBM MQ obsługuje sprawdzanie statusu odwołania certyfikatów tylko przy użyciu list CRL i ARL dostępnych na serwerach LDAP. Produkt IBM MQ w systemach z/OS nie może używać protokołu OCSP.
[z/OS]Produkt IBM MQ w systemach IBM i Implementacja protokołu TLS w produkcie IBM MQ obsługuje sprawdzanie statusu odwołania certyfikatów tylko przy użyciu list CRL i ARL dostępnych na serwerach LDAP. Produkt IBM MQ w systemach IBM i nie może używać protokołu OCSP.
Aby sprawdzić status odwołania certyfikatu cyfrowego przy użyciu protokołu OCSP, produkt IBM MQ musi określić, z którym programem odpowiadającym OCSP ma się skontaktować przy użyciu jednej z następujących dwóch metod:
  • Przy użyciu rozszerzenia certyfikatu AIA w certyfikacie, który ma zostać sprawdzony.
  • Przy użyciu adresu URL określonego w obiekcie informacji uwierzytelniającej lub przez aplikację kliencką.

Adres URL określony w obiekcie informacji uwierzytelniającej lub przez aplikację kliencką ma priorytet nad adresem URL w rozszerzeniu certyfikatu AIA.

Adres URL programu odpowiadającego OCSP może wskazywać lokalizację znajdującą się poza firewallem. W takim przypadku należy zmienić konfigurację firewalla, aby program odpowiadający OCSP był dostępny, lub skonfigurować serwer proxy OCSP. Należy określić nazwę serwera proxy przy użyciu zmiennej SSLHTTPProxyName w sekcji SSL. W systemach klienckich nazwę serwera proxy można także określić, używając zmiennej środowiskowej MQSSLPROXY.

Jeśli nie jest ważne, czy certyfikaty TLS zostały odwołane (na przykład w przypadku środowiska testowego), można ustawić zmienną OCSPCheckExtensions na wartość NO w sekcji SSL. Po ustawieniu tej zmiennej wszystkie rozszerzenia certyfikatu AIA są ignorowane. To rozwiązanie raczej nie jest dopuszczalne w środowisku produkcyjnym, w którym zazwyczaj nie umożliwia się dostępu użytkownikom przedstawiającym odwołane certyfikaty.

Wywołanie mające na celu uzyskanie dostępu do programu odpowiadającego OCSP może zwrócić jeden z następujących trzech wyników:
Dobry
Certyfikat jest poprawny.
Odwołany
Certyfikat jest odwołany.
Nieznany
Powodem zwrócenia tego wyniku może być jedna z trzech przyczyn:
  • Produkt IBM MQ nie może uzyskać dostępu do programu odpowiadającego OCSP.
  • Program odpowiadający OCSP wysłał odpowiedź, lecz produkt IBM MQ nie może zweryfikować podpisu cyfrowego odpowiedzi.
  • Program odpowiadający OCSP wysłał odpowiedź, która wskazuje, że nie ma danych odwołania dla certyfikatu.

Domyślnie produkt IBM MQ odrzuca połączenie, jeśli odbierze odpowiedź OCSP Nieznany, i zgłasza komunikat o błędzie. Można zmienić to zachowanie, ustawiając atrybut OCSPAuthentication. Znajduje się on w sekcji SSL pliku qm.ini w systemach UNIX, w rejestrze produktu WebSphere lub w sekcji SSL pliku konfiguracyjnego klienta. Można go ustawić przy użyciu programu IBM MQ Explorer na odpowiednich platformach.

Wynik OCSP Nieznany

Jeśli produkt IBM MQ odbierze wynik OCSP Nieznany, jego zachowanie zależy od ustawienia atrybutu OCSPAuthentication. W przypadku menedżerów kolejek ten atrybut znajduje się w sekcji SSL pliku qm.ini w systemach UNIX lub w rejestrze systemu Windows i można go ustawić przy użyciu programu IBM MQ Explorer. W przypadku klientów ten atrybut znajduje się w sekcji SSL pliku konfiguracyjnego klienta.

Jeśli zostanie odebrany wynik Nieznany i atrybut OCSPAuthentication ma ustawioną wartość REQUIRED (domyślna), produkt IBM MQ odrzuci połączenie i zgłosi komunikat o błędzie typu AMQ9716. Jeśli komunikaty zdarzeń SSL w menedżerze kolejek są włączone, generowany jest komunikat zdarzenia SSL typu MQRC_CHANNEL_SSL_ERROR z opcją ReasonQualifier ustawioną na wartość MQRQ_SSL_HANDSHAKE_ERROR.

Jeśli zostanie odebrany wynik Nieznany i atrybut OCSPAuthentication ma ustawioną wartość OPTIONAL, produkt IBM MQ zezwoli na uruchomienie kanału SSL i nie zostaną wygenerowane ostrzeżenia ani komunikaty zdarzeń SSL.

Jeśli zostanie odebrany wynik Nieznany i atrybut OCSPAuthentication ma ustawioną wartość WARN, kanał SSL zostanie uruchomiony, ale produkt IBM MQ zgłosi komunikat ostrzegawczy typu AMQ9717 w dzienniku błędów. Jeśli komunikaty zdarzeń SSL w menedżerze kolejek są włączone, generowany jest komunikat zdarzenia SSL typu MQRC_CHANNEL_SSL_WARNING z opcją ReasonQualifier ustawioną na wartość MQRQ_SSL_UNKNOWN_REVOCATION.

Podpisywanie cyfrowe odpowiedzi OCSP

Program odpowiadający OCSP może podpisać swoje odpowiedzi, używając jednej z trzech metod. Program odpowiadający informuje o użytej metodzie.
  • Odpowiedź OCSP może być podpisana cyfrowo przy użyciu tego samego certyfikatu CA, przy użyciu którego wystawiono sprawdzany certyfikat. W tym przypadku konfigurowanie dodatkowego certyfikatu nie jest wymagane. Kroki wykonane w celu nawiązania połączenia SSL wystarczają do sprawdzenia odpowiedzi OCSP.
  • Odpowiedź OCSP może być podpisana cyfrowo przy użyciu innego certyfikatu podpisanego przez ten sam ośrodek CA, który wystawił sprawdzany certyfikat. Certyfikat podpisujący jest w tym przypadku wprowadzany razem z odpowiedzią OCSP. Certyfikat wprowadzony przez program odpowiadający OCSP musi mieć opcję Extended Key Usage Extension (Rozszerzenie rozszerzonego użycia klucza) ustawioną na wartość id-kp-OCSPSigning, co umożliwia traktowanie go jako zaufanego na potrzeby tego zastosowania. Ponieważ odpowiedź OCSP jest wprowadzana z certyfikatem, przy użyciu którego ją podpisano (i ten certyfikat jest podpisany przez ośrodek CA, który jest zaufany na potrzeby połączenia SSL), nie jest wymagana dodatkowa konfiguracja certyfikatu.
  • Odpowiedź OCSP może być podpisana cyfrowo przy użyciu innego certyfikatu, który nie jest bezpośrednio powiązany ze sprawdzanym certyfikatem. W takim przypadku odpowiedź OCSP jest podpisana przy użyciu certyfikatu wystawionego przez sam program odpowiadający OCSP. Należy dodać kopię certyfikatu programu odpowiadającego OCSP do bazy danych kluczy klienta lub menedżera kolejek, który wykonuje operację sprawdzania OCSP. Więcej informacji zawiera sekcja Dodawanie certyfikatu ośrodka CA (lub części CA certyfikatu samopodpisanego) do repozytorium kluczy w Centrum Wiedzy IBM. Certyfikat CA jest domyślnie dodawany jako zaufany certyfikat główny, co jest ustawieniem wymaganym w tym kontekście. Jeśli ten certyfikat nie zostanie dodany, produkt IBM MQ nie może sprawdzić podpisu cyfrowego odpowiedzi OCSP i sprawdzenie OCSP daje wynik Nieznany, co może spowodować zamknięcie kanału przez produkt IBM MQ w zależności od wartości atrybutu OCSPAuthentication.