Nastavení obslužné rutiny zpětného volání pro zabezpečení JAX-WS

Na této stránce lze konfigurovat obslužnou rutinu zpětného volání zabezpečení JAX-WS, který určuje způsob načítání tokenů zabezpečení ze záhlaví zpráv.

Při úpravě obecné vazby na úrovni volání či serveru můžete konfigurovat obslužnou rutinu zpětného volání. Můžete také konfigurovat vazby specifické pro aplikace pro tokeny a části zpráv, které jsou vyžadovány sadou zásad.

Předcházení potížím Předcházení potížím: Před zadáním hodnot vlastností Úložiště klíčů a Klíč na této stránce je nutné vědět, že informace o úložišti klíčů nebo aliasu poskytované generátoru a informace o úložišti klíčů nebo aliasu poskytované pro spotřebitele jsou používány pro jiné účely. Hlavní rozdíl se týká aliasu pro obslužnou rutinu zpětného volání X.509: gotcha
Generátor
Při použití spolu s generátorem šifrování slouží alias dodávaný pro generátor k načtení veřejného klíče za účelem šifrování zprávy. Není vyžadováno heslo. Alias zadaný v obslužné rutině zpětného volání přidružený ke generátoru šifrování musí být přístupný bez hesla. To znamená, že k aliasu nesmí být v úložišti klíčů přidruženy informace o soukromém klíči. Při použití spolu s generátorem podpisů slouží alias dodávaný pro generátor k načtení soukromého klíče za účelem podepsání zprávy. Je vyžadováno heslo.
[Updated in October 2013]
Předcházení potížím Předcházení potížím: Vzhledem k tomu, že alias používaný k podpisu zprávy vyžaduje heslo a alias používaný k šifrování zprávy vyžaduje, aby heslo nebylo aktivováno, nelze použít stejný alias současně pro generátor podpisů i generátor šifrování. gotcha
[Updated in October 2013]
Spotřebitel
Při použití spolu se spotřebitelem šifrování slouží alias dodávaný pro spotřebitele k načtení soukromého klíče za účelem dešifrování zprávy. Je vyžadováno heslo.

Při použití spolu s odběratelem podpisů je alias dodávaný pro odběratele používán pouze k načtení veřejného klíče, který slouží k předání certifikátu X.509, jenž není předán v záhlaví zabezpečení SOAP jako token BinarySecurityToken. Není vyžadováno heslo.

Alias zadaný v obslužné rutině zpětného volání přidružený ke odběrateli podpisů musí být přístupný bez hesla. To znamená, že k aliasu nesmí být v úložišti klíčů přidruženy informace o soukromém klíči.

Pokud certifikát X.509 není předán v záhlaví zabezpečení SOAP jako token BinarySecurityToken, zobrazí se v prvku KeyInfo v prvku Signature v záhlaví zabezpečení SOAP odkaz SecurityTokenReference, který bude použit k předání certifikátu X.509. Je možné použít následující metody: Identifikátor klíče, Název a sériové číslo vydavatele X.509 a Otisk. Odběratel přijme libovolnou z těchto metod k předání certifikátu X.509 mimo zprávu, pokud jsou úložiště klíčů nebo alias konfigurovány pro odběratele tokenů X.509 přidruženého k odběrateli podpisů. Spotřebitel tokenů X.509 neprovádí dynamickou interpretaci certifikátů, které se nacházejí mimo zprávy pro položky v úložišti klíčů. Certifikáty, které budou použity, musejí být známé již při konfiguraci a pevně zabudovány do obslužné rutiny zpětného volání pro spotřebitele tokenů X.509.

Má-li být certifikát X.509 interpretován mimo zprávu, můžete při použití obecných vazeb interpretovat více certifikátů, avšak při použití specifických vazeb pouze jeden certifikát. Jsou-li použity vazby specifické pro aplikaci, lze mimo zprávu interpretovat pouze jeden certifikát, protože u vazeb specifických pro konkrétní aplikace je k dispozici pouze jeden spotřebitel tokenů X.509. Vzhledem k dostupnosti pouze jednoho spotřebitele tokenů X.509 lze použít pouze jeden alias, a proto lze interpretovat pouze jeden certifikát. Například v případě, že odběratel tokenů X.509 je konfigurován pro certifikát A, pokud klient A odešle identifikátor klíče pro certifikát A, tento certifikát je možné načíst. Pokud však klient B odešle identifikátor klíče pro certifikát B, tento certifikát nelze načíst a zpráva bude odmítnuta.

Jsou-li použity obecné vazby, lze vytvořit více spotřebitelů tokenů X.509, pro každého z nichž jsou konfigurovány různé certifikáty (úložiště klíčů/alias). Všichni spotřebitelé tokenů X.509 sdružení s certifikáty, které chcete interpretovat, by v takovém případě byli přiřazeni k informacím o klíči podpisu v konfiguraci vaší podepsané části v rámci vazby.

Pokud odešlete certifikát X.509 v záhlaví zabezpečení SOAP jako token BinarySecurityToken a v odběrateli tokenů X.509 přidruženém k odběrateli podpisů je konfigurováno klíčové slovo nebo alias, certifikát konfigurovaný v odběrateli bude porovnán s certifikátem předaným ve zprávě. Pokud se tyto certifikáty neshodu, zpráva bude odmítnuta. Toto chování se liší od chování prostředí JAX-RPC. Certifikát přidružený k aliasu konfigurovanému v odběrateli tokenů X.509 není používán k hodnocení důvěryhodnosti příchozího certifikátu. Pro tento účel jsou používána pouze úložiště údajů o důvěryhodnosti a úložiště certifikátů.

Pokud má být certifikát konfigurovaný v odběrateli tokenů X.509 přidruženém k odběrateli podpisů dostupný pro řešení KeyInfo, ale nemá dojít k odmítnutí certifikátů X.509 předaných ve zprávě, které se neshodují, je možné do obslužné rutiny zpětného volání odběratele tokenů X.509 přidat následující přizpůsobenou vlastnost:
com.ibm.wsspi.wssecurity.consumer.callbackHandlerKeystoreLimitsAccess=false
[Updated in October 2013]
Předcházení potížím Předcházení potížím: Vzhledem k tomu, že alias používaný k dešifrování zprávy vyžaduje heslo a alias použitý k ověření podpisu vyžaduje, aby heslo nebylo aktivováno, nelze použít stejný alias současně pro spotřebitele podpisu a spotřebitele šifrování. gotcha
[Updated in October 2013]
Chcete-li zobrazit tuto stránku administrativní konzoly při úpravě obecné vazby na úrovni buňky, postupujte takto:
  1. Klepněte na volbu Služby > Sady zásad > Výchozí vazby sady zásad. Na panelu vazeb je označena vazba, která je nastavena jako výchozí, například vazba Ukázka poskytovatele.
  2. Chcete-li tuto výchozí vazbu změnit, klepněte na volbu Služby > Sady zásad > Obecné vazby sady zásad poskytovatele.
  3. Klepněte na název výchozí vazby určený v prvním kroku, například Ukázka poskytovatele.
  4. V tabulce zásad klepněte na zásadu WS-Security.
  5. V části Vazby zásad zabezpečení pro hlavní zprávu klepněte na odkaz Ověřování a ochrana.
  6. V části Tokeny ochrany nebo Tokeny ověřování klepněte na odkaz název_tokenu.
  7. Klepněte na odkaz Obslužná rutina zpětného volání.
Chcete-li zobrazit tuto stránku administrativní konzoly při konfiguraci aplikačních vazeb pro tokeny a části zprávy, které jsou vyžadovány sadou zásad, postupujte podle následujícího postupu:
  1. Klepněte na volbu Aplikace > Typy aplikací > Podnikové aplikace WebSphere.
  2. Vyberte aplikaci, která obsahuje webové služby. Aplikace musí obsahovat poskytovatele služby nebo klienta služby.
  3. V části Vlastnosti webových služeb klepněte na odkaz Sady zásad a vazby poskytovatele služeb nebo Sady zásad a vazby klienta služeb.
  4. Vyberte vazbu. Před touto akcí je nutné mít již připojenou sadu zásad a přiřazenou vazbu specifickou pro aplikaci.
  5. V tabulce zásad klepněte na zásadu WS-Security.
  6. V části Vazby zásad zabezpečení pro hlavní zprávu klepněte na odkaz Ověřování a ochrana.
  7. V části Tokeny ochrany nebo Tokeny ověřování klepněte na odkaz název_tokenu.
  8. Klepněte na odkaz Obslužná rutina zpětného volání.

Tato stránka administrativní konzoly se vztahuje pouze na aplikace rozhraní JAX-WS (Java API for XML Web Services).

Na panelu Obslužná rutina zpětného volání se zobrazují různá pole podle aktuálně konfigurovaných tokenů. Na tomto panelu jsou k dispozici některá nebo všechna pole a části popsané v tomto tématu. Záleží na tom, zda konfigurujete tokeny generátoru nebo spotřebitele pro ochranu nebo konfigurujete příchozí nebo odchozí tokeny pro ověřování. Způsob zobrazení je uveden v popisu jednotlivých polí.

Název třídy

Pole v části Název třídy jsou k dispozici pro všechny typy konfigurace tokenů.

Vyberte název třídy, který chcete použít pro obslužnou rutinu zpětného volání. Vyberte volbu Použít integrované výchozí nastavení pro normální operaci. Volbu Použít vlastní nastavení vyberte, pokud používáte vlastní typ tokenu.

Pro vlastní typ tokenu Kerberos použijte název třídy com.ibm.websphere.wssecurity.callbackhandler.KRBTokenGenerateCallbackHandler pro konfiguraci generátoru tokenů. V případě konfigurace spotřebitele tokenu vyberte název com.ibm.websphere.wssecurity.callbackhandler.KRBTokenConsumeCallbackHandler.

Použít integrované výchozí nastavení

Určuje, že pro název třídy se použije výchozí hodnota. Pokud vyberete tento přepínač, použije se pro název třídy výchozí hodnota (uvedená v poli). Tento název je založený na typu tokenu a na rozlišení, zda je obslužná rutina zpětného volání určená pro generátor tokenu nebo pro spotřebitele tokenu. Tato volba je neslučitelná s položkou Použít vlastní nastavení.

Použít vlastní nastavení

Určuje, že pro název třídy se použije vlastní hodnota. Chcete-li použít název třídy, vyberte tento přepínač a zadejte název do pole.

Pro toto pole položky není k dispozici žádná výchozí hodnota. Tuto hodnotu určíte použitím údajů z následující tabulky:

Tabulka 1. Vlastní názvy tříd pro obslužnou rutinu zpětného volání a přidružené typy tokenu. Obslužná rutina zpětného volání určuje způsob, jakým jsou získávány tokeny zabezpečení ze záhlaví zpráv.
Typ tokenu Spotřebitel nebo generátor Název třídy obslužné rutiny zpětného volání
UsernameToken spotřebitel com.ibm.websphere.wssecurity.callbackhandler.UNTConsumeCallbackHandler
UsernameToken generátor com.ibm.websphere.wssecurity.callbackhandler.UNTGenerateCallbackHandler
X509Token spotřebitel com.ibm.websphere.wssecurity.callbackhandler.X509ConsumeCallbackHandler
X509Token generátor com.ibm.websphere.wssecurity.callbackhandler.X509GenerateCallbackHandler
LTPAToken/LTPAPropagationToken spotřebitel com.ibm.websphere.wssecurity.callbackhandler.LTPAConsumeCallbackHandler
LTPAToken/LTPAPropagationToken generátor com.ibm.websphere.wssecurity.callbackhandler.LTPAGenerateCallbackHandler
SecureConversationToken spotřebitel com.ibm.ws.wssecurity.impl.auth.callback.SCTConsumeCallbackHandler
SecureConversationToken generátor com.ibm.ws.wssecurity.impl.auth.callback.WSTrustCallbackHandler

Toto tlačítko je neslučitelné s volbou Použít integrované výchozí nastavení.

Certifikáty (generátor)

Pole v části Certifikáty jsou k dispozici, pokud konfigurujete token ochrany. V případě tokenu generátoru můžete klepnutím vybrat úložiště certifikátů ze seznamu nebo klepnout na volbu Nové a úložiště certifikátů přidat.

Certifikáty (spotřebitel)

Pole v části Certifikáty jsou k dispozici, pokud konfigurujete token ochrany. Pro token spotřebitele můžete nakonfigurovat úložiště certifikátů pomocí volby Důvěřovat všem certifikátům nebo volby Úložiště certifikátů.

Certifikáty – Důvěřovat všem certifikátům (spotřebitel)

Tuto volbu lze použít pouze pro spotřebitele tokenů. Určuje, že systém bude důvěřovat všem certifikátům a nebude definovat konkrétní úložiště certifikátů. Tato volba je neslučitelná s volbou Úložiště certifikátů.

Certifikáty – Úložiště certifikátů (spotřebitel)

Tuto volbu lze použít pouze pro spotřebitele tokenů. Slouží k určení kolekce úložišť certifikátů obsahující zprostředkující certifikáty, včetně seznamů zrušených certifikátů (CRL). Výběrem této volby budete důvěřovat úložištím certifikátů, které jsou uvedeny v poli položky. Tato volba je neslučitelná s položkou Důvěřovat všem certifikátům. Po výběru volby Úložiště certifikátů bude k dispozici tlačítko Nový, které slouží ke konfigurování nového úložiště certifikátů a úložiště kotev důvěryhodnosti.

Hodnotu pole úložiště certifikátů můžete nastavit na výchozí hodnotu, kterou je hodnota Není. V poli úložiště kotev důvěryhodnosti však musí být nastavena určitá hodnota. K dispozici není žádná výchozí hodnota. Kotva důvěryhodnosti je vyžadována v případě, že není vybrána volba Důvěřovat všem certifikátům.

Základní ověřování

Pole v části Základní ověřování je k dispozici při konfiguraci tokenu ověřování, který není tokenem šíření ověřování LTPA.

V případě vlastního typu tokenu Kerberos je nutné vyplnit část Základní ověřování pro přihlášení Kerberos.

Jméno uživatele

Určuje jméno uživatele, které chcete ověřit.

Heslo

Určuje heslo, které chcete ověřit. Zadejte heslo, které chcete ověřit v tomto vstupním poli.

Potvrzení hesla

Určuje heslo, které chcete potvrdit.

Úložiště klíčů

Pole úložiště klíčů nejsou k dispozici v případě, že běhové prostředí určí, že nejsou potřeba.

V seznamu Název úložiště klíčů můžete klepnutím na tlačítko Vlastní definovat vlastní úložiště klíčů, dále můžete klepnout na některý z externě definovaných názvů úložiště klíčů. Není-li žádné úložiště klíčů definováno, můžete klepnout na tlačítko Není.

Úložiště klíčů – název

Určuje název úložiště klíčů, které chcete použít.

V této nabídce klepněte na název úložiště klíčů nebo vyberte některou z následujících hodnot:
Není
Určuje, že se nemá používat úložiště klíčů.
Vlastní
Určuje, že se má používat úložiště klíčů definované uživatelem. Klepnutím na odkaz Konfigurace vlastního úložiště klíčů určete nastavení vlastního úložiště klíčů nebo samotného klíče.

Klíč

Určuje atributy klíče, který má být načten z konfigurovaného úložiště klíčů. Některá pole v sekci Klíč nejsou k dispozici, pokud běhové prostředí určí, že nejsou potřeba.

Při výběru centrálně spravovaného úložiště pro úložiště klíčů jsou pole v sekci Klíč k dispozici.

Název

Určuje název používaného klíče. Seznam je naplněn klíči dostupnými ve vybraném centrálně spravovaném úložišti klíčů. Vyberte název klíče, který chcete použít, nebo hodnotu '(není)', pokud nechcete použít žádný klíč.

Alias

Zobrazí alias vybraného názvu klíče.

Heslo

Určuje heslo, které chcete použít pro klíč. Toto pole bude k dispozici pouze v případě, že běhové prostředí určí, že je potřeba.

Heslo nelze nastavit pro veřejné klíče pro generátor asymetrického šifrování nebo pro spotřebitele asymetrického podpisu. Na začátku článku naleznete informace, které vám pomohou vyhnout se problémům.

Potvrzení hesla

Potvrzuje heslo pro klíč, které chcete použít. Toto pole bude k dispozici pouze v případě, že běhové prostředí určí, že je potřeba.

Potvrzovací heslo klíče nezadávejte pro veřejné klíče pro asymetrické odchozí šifrování nebo příchozí podpis.

Úložiště klíčů – konfigurace vlastního úložiště klíčů

Určuje odkaz, který slouží k vytvoření vlastního úložiště klíčů. Klepnutím na tento odkaz otevřete panel, na kterém můžete konfigurovat vlastní úložiště klíčů.

Heslo k úložišti klíčů

Určuje heslo používané pro přístup k úložišti klíčů.

Cesta k úložišti klíčů

Určuje umístění souboru úložiště klíčů.

V názvu cesty použijte hodnotu ${USER_INSTALL_ROOT}, protože tato proměnná se převede na cestu k produktu v počítači. Chcete-li změnit cestu použitou v této proměnné, klepněte na volby Prostředí > Proměnné platformy WebSphere a poté klepnutím vyberte položku USER_INSTALL_ROOT.

Typ úložiště klíčů

Určuje typ formátu souboru úložiště klíčů.

Zvolte pro toto pole jednu z následujících hodnot:
JKS
Tuto volbu vyberte, pokud úložiště klíčů používá formát JKS (Java Keystore).
JCEKS
Tuto volbu použijte v případě, že je v rámci sady SDK konfigurováno rozšíření JCE (Java Cryptography Extension). Na aplikačním serveru je konfigurován výchozí balík IBM® JCE. Tato volba poskytuje zvýšenou ochranu uložených soukromých klíčů pomocí šifrování Triple DES.
[z/OS] JCERACFKS
Volbu JCERACFKS použijte v případě, že jsou certifikáty uloženy ve svazku klíčů SAF (pouze pro platformu z/OS).
PKCS12KS (PKCS12)
Tuto volbu vyberte v případě, že soubor úložiště klíčů používá formát souborů PKCS#12.

Přizpůsobené vlastnosti

Pole v části Přizpůsobené vlastnosti jsou k dispozici pro všechny typy konfigurace tokenu.

Přizpůsobené vlastnosti potřebné pro obslužnou rutinu zpětného volání můžete přidat pomocí párů název-hodnota.

Chcete-li implementovat šifrování certifikátu podepisujícího subjektu s použitím programovacího modelu JAX-WS, přidejte přizpůsobenou vlastnost com.ibm.wsspi.wssecurity.token.cert.useRequestorCert s hodnotou true pro obslužnou rutinu zpětného volání generátoru tokenů šifrování. Tato implementace využívá certifikát podepsaného subjektu z požadavku SOAP k zašifrování odpovědi SOAP. Generátor odpovědí pracuje s touto přizpůsobenou vlastností.

V případě vlastního tokenu Kerberos založeného na specifikaci zabezpečení webových služeb OASIS pro profil tokenu Kerberos verze 1.1 určete pro generování tokenu následující vlastnost: com.ibm.wsspi.wssecurity.krbtoken.clientRealm. Tím určíte název sféry ověřování Kerberos přidružené klientu a umožníte sféře klienta ověřování Kerberos zahájit přihlašování Kerberos. Není-li určen název sféry ověřování Kerberos, bude použit výchozí. Tato vlastnost je při použití prostředí s jednou sférou ověřování Kerberos volitelná.

Přizpůsobená vlastnost ověřování Kerberos (com.ibm.wsspi.wssecurity.krbtoken.loginPrompt) povoluje přihlášení Kerberos, je-li nastavena na hodnotu true. Výchozí hodnota je false. Tato vlastnost je volitelná.

Při konfiguraci tokenu jména uživatele pro model programování JAX-WS se v zájmu ochrany proti útokům přehráním důrazně doporučuje přidat do konfigurace obslužné rutiny zpětného volání následující přizpůsobené vlastnosti. Tyto přizpůsobené vlastnosti povolují a ověřují hodnotu nonce a časovou značku pro ověřování zpráv.
Název vlastnosti (generátor) Hodnota vlastnosti
com.ibm.wsspi.wssecurity.token.username.addNonce true
com.ibm.wsspi.wssecurity.token.username.addTimestamp true
Název vlastnosti (spotřebitel) Hodnota vlastnosti
com.ibm.wsspi.wssecurity.token.username.verifyNonce true
com.ibm.wsspi.wssecurity.token.username.verifyTimestamp true

Název

Určuje název přizpůsobené vlastnosti, který chcete použít.

Přizpůsobené vlastnosti nejsou původně v tomto sloupci zobrazeny. Klepněte na jednu z následujících akcí pro přizpůsobené vlastnosti:

Tlačítko Výsledná akce
Nový Vytvoří novou položku přizpůsobené vlastnosti. Chcete-li přidat přizpůsobenou vlastnost, zadejte název a hodnotu.
Odstranit Odebere vybranou přizpůsobenou vlastnost.

Hodnota

Určuje hodnotu přizpůsobené vlastnosti, kterou chcete použít. Použitím položky Hodnota můžete zadat nebo odstranit hodnotu pro přizpůsobenou vlastnost.



Název souboru: uwbs_wsspsbch.html