Objekteigenschaft SSLCERTSTORES

Mithilfe von SSLCERTSTORES können Sie eine Liste der LDAP-Server angeben, die für die Prüfung anhand einer Zertifikatswiderrufsliste (Certificate Revocation List, CRL) verwendet werden.

Häufig wird eine Zertifikatswiderrufsliste (Certificate Revocation List, CRL) verwendet, um Zertifikate anzugeben, die nicht mehr als vertrauenswürdig gelten. CRLs werden in der Regel auf LDAP-Servern gehostet. JMS ermöglicht die Angabe eines LDAP-Servers für die CRL-Prüfung unter Java™ 2 v1.4 oder höher. Das folgende JMSAdmin-Beispiel weist JMS an, eine CRL zu verwenden, die auf einem LDAP-Server mit dem Namen crl1.ibm.com gehostet wird:
ALTER CF(my.cf) SSLCRL(ldap://crl1.ibm.com)
Anmerkung: Damit ein CertStore erfolgreich mit einer auf einem LDAP-Server gehosteten CRL verwendet werden kann, müssen Sie sicherstellen, dass Ihr Java-Software Development Kit (SDK) mit der CRL kompatibel ist. Manche SDKs verlangen, dass die Zertifikatswiderrufsliste RFC 2587 entspricht, in dem ein Schema für LDAP v2 definiert ist. Die meisten LDAP v3-Server verwenden stattdessen RFC 2256.
Wenn Ihr LDAP-Server nicht am Standardport 389 ausgeführt wird, können Sie den Port angeben, indem Sie einen Doppelpunkt (:) und die Portnummer an den Hostnamen anhängen. Wenn das vom Warteschlangenmanager vorgelegte Zertifikat in der unter crl1.ibm.com gehosteten CRL enthalten ist, wird die Verbindung nicht ausgeführt. Zur Vermeidung eines Single Point of Failure erlaubt JMS die Bereitstellung mehrerer LDAP-Server durch die Angabe einer Liste mit LDAP-Servern, die durch ein Leerzeichen voneinander getrennt sind. Beispiel:
ALTER CF(my.cf) SSLCRL(ldap://crl1.ibm.com ldap://crl2.ibm.com)

Wenn mehrere LDAP-Server angegeben werden, versucht JMS der Reihe nach jeden Server, bis ein Server gefunden wird, mit dem das Zertifikat des Warteschlangenmanagers erfolgreich geprüft werden kann. Jeder Server muss identische Informationen enthalten.

Eine Zeichenfolge in diesem Format kann von einer Anwendung in der Methode MQConnectionFactory.setSSLCertStores() bereitgestellt werden. Alternativ kann die Anwendung ein oder mehrere java.security.cert.CertStore-Objekte erstellen, diese in ein geeignetes Objektgruppenobjekt stellen und dieses Objektgruppenobjekt für die Methode setSSLCertStores() bereitstellen. Auf diese Weise kann die Anwendung die CRL-Prüfung anpassen. In Ihrer JSSE-Dokumentation finden Sie Details zur Erstellung und Verwendung von CertStore-Objekten.

Das Zertifikat, das vom Warteschlangenmanager beim Aufbau der Verbindung vorgelegt wird, wird wie folgt überprüft:
  1. Das erste CertStore-Objekt in der durch sslCertStores angegebenen Objektgruppe wird für die Identifizierung eines CRL-Servers verwendet.
  2. Es wird versucht, den CRL-Server zu kontaktieren.
  3. Wenn der Versuch erfolgreich ist, wird der Server nach einer Übereinstimmung mit dem Zertifikat durchsucht.
    1. Falls festgestellt wird, dass das Zertifikat widerrufen wurde, wird der Suchvorgang beendet und die Verbindungsanforderung schlägt mit dem Ursachencode MQRC_SSL_CERTIFICATE_REVOKED fehl.
    2. Wenn das Zertifikat nicht gefunden werden kann, wird der Suchvorgang beendet und die Verbindung kann fortgesetzt werden.
  4. Wenn der Versuch der Kontaktierung des Servers nicht erfolgreich war, wird das nächste CertStore-Objekt für die Identifizierung eines CRL-Servers verwendet und der Prozess wird ab Schritt 2 wiederholt.

    Falls das Objekt der letzte CertStore in der Objektgruppe war oder die Objektgruppe keine CertStore-Objekte enthält, ist der Suchvorgang fehlgeschlagen und die Verbindungsanforderung schlägt mit dem Ursachencode MQRC_SSL_CERT_STORE_ERROR fehl.

Das Objektgruppenobjekt bestimmt die Reihenfolge, in der CertStores verwendet werden.

Wenn Ihre Anwendung mithilfe von setSSLCertStores() eine Objektgruppe mit CertStore-Objekten festlegt, kann die MQConnectionFactory nicht mehr an einen JNDI-Namensbereich gebunden werden. Ein derartiger Versuch führt zu einer Ausnahmebedingung. Wenn die Eigenschaft 'sslCertStores' nicht festgelegt wird, wird keine Widerrufsprüfung für das vom Warteschlangenmanager bereitgestellte Zertifikat ausgeführt. Diese Eigenschaft wird ignoriert, wenn keine Cipher-Suite festgelegt wurde.


Referenz Referenz

Feedback

Timestamp icon Letzte Aktualisierung: 30. Oktober 2018
http://www.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.dev.doc/com.ibm.mq.dev.doc/q032430_.htm jm25370_