Setările de handler retroapel (callback) pentru JAX-WS

Utilizaţi această pagină pentru a configura setările handler-ului callback pentru JAX-WS, care determină cum sunt obţinute jetoanele de securitate din anteturile mesajelor.

Puteţi configura setările handler callback atunci când editaţi o legare generală la nivel de celulă sau la nivel de server. Puteţi, de asemenea, să configuraţi legări specifice aplicaţiilor pentru jetoane şi părţi din mesaje care sunt cerute de setul de politici.

Evitarea necazurilor Evitarea necazurilor: Înainte de a specifica valorile pentru proprietăţile Depozit de chei şi Cheie pe această pagină, trebuie să înţelegeţi că informaţiile depozit de chei/alias pe care le furnizaţi generatorului şi informaţiile depozit de chei/alias pe care le furnizaţi consumatorului au scopuri diferite. Diferenţa principală se referă la aliasul pentru un handler callback X.509: gotcha
Generator
Când este folosit în asociaţie cu un generator de criptare, aliasul furnizat pentru generator este folosit pentru a extrage cheia publică pentru criptarea mesajului. O parolă nu este necesară. Aliasul care a fost introdus pe un handler callback asociat cu un generator de criptare trebuie să fie accesibil fără o parolă. Aceasta înseamnă că aliasul nu trebuie să aibă asociat cu el informaţii de cheie privată în depozitul de chei. Atunci când este utilizat în asociere cu un generator de semnătură, aliasul furnizat pentru generator este utilizat pentru extragerea cheii private pentru semnarea mesajului. O parolă este necesară.
[Updated in October 2013]
Evitarea necazurilor Evitarea necazurilor: Deoarece un alias utilizat pentru a semna un mesaj necesită o parolă, şi un alias utilizat pentru a cripta un mesaj necesită să nu există nicio parolă, nu puteţi utiliza acelaşi alias pentru atât pentru un generator de semnătură cât şi pentru un generator de criptare.gotcha
[Updated in October 2013]
Consumator
Când este folosit în asociere cu un consumator de criptare, aliasul furnizat pentru consumator este folosit pentru a extrage cheia privată pentru a decripta mesajul. Este necesară o parolă.

Când este folosit în asociere cu un consumator de semnături, aliasul furnizat pentru consumator este folosit strict pentru a extrage cheia publică folosită pentru a rezolva un certificat X.509 care nu este transmis în antetul de securitate SOAP ca BinarySecurityToken. O parolă nu este necesară.

Aliasul care este introdus pe un handler de callback asociat cu un consumator de semnături trebuie să fie accesibil fără parolă. Asta înseamnă că aliasul nu trebuie să aibă asociate informaţii cheie private în depozitul de chei.

Când un certificat X.509 nu este transmis în antetul de securitate SOAP ca BinarySecurityToken, va apărea un SecurityTokenReference în elementul KeyInfo din elementul Semnătură în antetul de securitate SOAP care va fi folosit pentru a rezolva certificatul X.509. Metodele care pot fi folosite sunt Identificator cheie, Nume şi serial emitent X.509 şi Amprentă digitală. Consumatorul va accepta oricare din aceste trei metode pentru a rezolva un certificat X.509 în afara mesajului când este configurat un depozit de chei/alias pentru un consumator de jetoane X.509 asociat cu un consumator de semnături. Consumatorul de jetoane X.509 nu rezolvă dinamic certificate care apar în afara mesajului la întrările dintr-un depozit de chei. Certificatele care vor fi utilizate trebuie să fie cunoscute la momentul de configurare şi codate în handler-ul callback consumator de jetoane X.509.

Când un certificat X.509 urmează să fie rezolvat în afara mesajului, puteţi rezolva mai multe certificate la utilizarea legărilor generale, dar numai una la utilizarea legărilor specifice de aplicaţie. Doar un certificat poate fi rezolvat în afara mesajului când legările specifice aplicaţiei sunt utilizate deoarece, în legări specifice aplicaţiei, există un singur consumator de jetoane X.509 disponibil pentru utilizare. Din moment ce există un singur consumator de jetoane X.509 pentru utilizare, există un singur alias pentru utilizare, de aceea, doar un certificat poate fi rezolvat. De exemplu, dacă consumatorul de jetoane X.509 este configurat pentru certificatul A, dacă clientul A trimite keyIdentifier-ul pentru certificatul A, certificatul poate fi extras. Totuşi, dacă clientul B trimite keyIdentifier-ul pentru certificatul B, certificatul nu poate fi extras şi mesajul va fi respins.

Când sunt utilizate legări generale, consumatori de jetoane X.509 multipli pot fi creaţi care au diferite certificate configurate pe ei (depozit de chei/alias). Toţi consumatorii de jetoane X.509 asociaţi cu certificatele pe care doriţi să le rezolvaţi ar fi alocaţi informaţiilor Cheie de semnare a configuraţiei dumneavoastră parte componentă semnată în legări.

Când un certificat X.509 care este transmis în antetul de securitate SOAP ca un BinarySecurityToken, dacă există un depozit de chei/alias configurat pe consumatorul de jetoane X.509 asociat cu un consumator de semnătură, certificatul care este configurat pe consumator va fi comparat cu acela transmis în mesaj. Dacă nu se potrivesc, mesajul va fi respins. Acest comportament este diferit faţă de JAX-RPC. Certificatul asociat cu aliasul configurat pe consumatorul de jetoane X.509 nu este folosit pentru a evalua încrederea pe certificatul de intrare. Numai depozitul de încrederi şi depozitele de certificate sunt folosite pentru aceste scopuri.

Dacă vreţi ca certificatul configurat pe consumatorul de jetoane X.509 asociat cu un consumator de semnături să fie disponibil pentru rezoluţia KeyInfo, dar să nu respingă certificatele X.509 care sunt transmise în mesaj şi nu se potrivesc, puteţi adăuga următoarea proprietate personalizată în handler-ul de callback al consumatorului de jetoane X.509:
com.ibm.wsspi.wssecurity.consumer.callbackHandlerKeystoreLimitsAccess=false
[Updated in October 2013]
Evitarea necazurilor Evitarea necazurilor: Deoarece un alias utilizat pentru a decripta un mesaj necesită o parolă, şi un alias utilizat pentru a verifica o semnătură necesită să nu există nicio parolă, nu puteţi utiliza acelaşi alias pentru atât pentru un consumator de semnătură cât şi pentru un consumator de criptare.gotcha
[Updated in October 2013]
Pentru a vizualiza această pagină a consolei administrative atunci când editaţi o legare generală la nivel de celulă, finalizaţi următoarele acţiuni:
  1. Apăsaţi Servicii > Seturi de politici > Legări implicite la setul de politici. Panoul legări indică ce legare este setată drept legarea implicită, de exemplu, legarea Exemplu furnizor.
  2. Pentru a edita această legare implicită, faceţi clic pe Servicii > Seturi de politici > Legări set de politici furnizor generale.
  3. Faceţi clic pe numele legării implicite determinate în primul pas. De exemplu, Exemplu furnizor.
  4. Faceţi clic pe politica WS-Security din tabela Politici.
  5. Apăsaţi pe legătura Autentificare şi protecţie din secţiunea Legări la politica de securitate mesaje principală.
  6. Faceţi clic pe legătura nume_jeton din secţiunea Jetoane de protecţie sau din secţiunea Jetoane de autentificare.
  7. Faceţi clic pe legătura Handler de callback.
Pentru a vizualiza această pagină a consolei administrative atunci când configuraţi legări specifice aplicaţiilor pentru jetoane şi părţi din mesaje care sunt cerute de setul de policiti, finalizaţi următoarele acţiuni:
  1. Apăsaţi Aplicaţii > Tipuri de aplicaţii > Aplicaţii de întreprindere WebSphere.
  2. Selectaţi o aplicaţie care conţine servicii web. Aplicaţia trebuie să conţină un furnizor de serviciu sau un client de serviciu.
  3. Apăsaţi pe legătura Legările şi seturile de politici ale furnizorului de servicii sau pe Legările şi seturile de politici ale clientului de servicii din secţiunea Proprietăţi ale serviciilor web.
  4. Selectaţi o legare. Trebuie să fi instalat anterior un set de politici să să fi alocat o legare specifică aplicaţiei.
  5. Faceţi clic pe politica WS-Security din tabela Politici.
  6. Apăsaţi pe legătura Autentificare şi protecţie din secţiunea Legări la politica de securitate mesaje principală.
  7. Faceţi clic pe legătura nume_jeton din secţiunea Jetoane de protecţie sau din secţiunea Jetoane de autentificare.
  8. Faceţi clic pe legătura Handler de callback.

Această pagină de consolă administrativă se aplică doar API-ului Java pentru aplicaţii XML Web Services (JAX-WS).

Handlerul callback afişează câmpurile diferit în funcţie de jetoanele diferite ce sunt configurate. În funcţie de ce configuraţi (generator sau consumator de jeton pentru protecţie sau jetoane intrare sau ieşire pentru autentificare), secţiunile şi câmpurile din acest panou afişează doar unele câmpuri sau pe toate dintre cele explicate în acest subiect, aşa cum este menţionat în descrierea fiecărui câmp.

Numele clasei

Câmpurile din secţiunea Nume clasă sunt disponibile pentru toate tipurile de configuraţii jeton.

Selectaţi numele clasei de utilizat pentru handlerul callback. Selectaţi opţiunea Utilizare valoare implicită încorporată pentru funcţionare normală. Utilizaţi opţiunea Utilizare valoare personalizată dacă utilizaţi un tip de jeton personalizat.

Pentru tipul de jeton particularizat Kerberos, folosiţi numele clasei,com.ibm.websphere.wssecurity.callbackhandler.KRBTokenGenerateCallbackHandler, pentru configuraţia generatorului de jetoane. Folosiţi com.ibm.websphere.wssecurity.callbackhandler.KRBTokenConsumeCallbackHandler pentru configuraţia consumatorului de jetoane.

Utilizaţi valoarea implicită încorporată

Specifică faptul că este folosită valoarea implicită pentru numele clasei. Utilizaţi valoarea implicită (afişată în câmp) pentru numele clasei atunci când selectaţi acest buton radio. Acest nume se bazează pe tipul de jeton şi pe destinaţia handlerului callback (pentru un generator jeton sau pentru un consumator jeton). Această opţiune este exclusivă mutual faţă de opţiunea Utilizare valoare personalizată.

Utilizare valoare personalizată

Specifică faptul că este folosită o valoare personalizată pentru numele clasei. Selectaţi acest buton radio şi introduceţi numele în câmp pentru a utiliza un nume de clasă personalizat.

Nu este disponibilă nicio valoare implicită pentru acest câmp intrare. Utilizaţi informaţiile din următoarea tabelă pentru a determina această valoare:

Tabela 1. Numele de clase personalizate pentru handlerul callback şi tipurile jeton asociate. Handlerul callback determină modul în care jetoanele de securitate sunt obţinute din anteturile mesajelor.
Tip jeton Consumator sau Generator Nume clasă handler callback
UsernameToken consumator com.ibm.websphere.wssecurity.callbackhandler.UNTConsumeCallbackHandler
UsernameToken generator com.ibm.websphere.wssecurity.callbackhandler.UNTGenerateCallbackHandler
X509Token consumator com.ibm.websphere.wssecurity.callbackhandler.X509ConsumeCallbackHandler
X509Token generator com.ibm.websphere.wssecurity.callbackhandler.X509GenerateCallbackHandler
LTPAToken/LTPAPropagationToken consumator com.ibm.websphere.wssecurity.callbackhandler.LTPAConsumeCallbackHandler
LTPAToken/LTPAPropagationToken generator com.ibm.websphere.wssecurity.callbackhandler.LTPAGenerateCallbackHandler
SecureConversationToken consumator com.ibm.ws.wssecurity.impl.auth.callback.SCTConsumeCallbackHandler
SecureConversationToken generator com.ibm.ws.wssecurity.impl.auth.callback.WSTrustCallbackHandler

Acest buton este exclusiv mutual faţă de opţiunea Utilizare valoare implicită încorporată.

Certificate (generator)

Câmpurile din secţiunea Certificate sunt disponibile dacă configuraţi un jeton protecţie. Pentru un jeton generare, puteţi face clic pentru a selecta un depozit certificate din listare sau puteţi face clic pe butonul Nou pentru a adăuga un depozit de certificate.

Certificate (consumator)

Câmpurile din secţiunea Certificate sunt disponibile dacă configuraţi un jeton protecţie. Pentru un jeton consumator, puteţi utiliza opţiunea Încredere în orice certificat sau opţiunea Depozit de certificate pentru a configura depozitul de certificate.

Certificate - Încredere în orice certificat (consumator)

Această opţiune este aplicabilă doar pentru consumatorul jetonului. Această opţiune indică faptul că sistemul va avea încredere în toate certificatele şi că nu defineşte un depozit de certificate specific. Această opţiune este exclusivă mutual faţă de opţiunea Depozit de certificate.

Certificate - Depozit de certificate (consumator)

Această opţiune este aplicabilă doar pentru consumatorul jetonului. Utilizaţi această opţiune pentru a specifica o colecţie depozit de certificate care să conţină certificate intermediare, care pot include liste de revocare certificate (CRL-uri). Selectaţi această opţiune pentru a avea încredere în depozitul sau depozitele de certificate specificate în câmpul intrare. Această opţiune este exclusivă mutual faţă de opţiunea Încredere în toate certificatele. Atunci când selectaţi opţiunea Depozit de certificate, este activat butonul Nou astfel încât să puteţi configura un nou depozit de certificate şi un depozit de ancore de încredere.

Puteţi seta valoarea câmpului depozit de certificate la valoarea implicită care este Fără. Cu toate acestea, valoarea depozitului de ancore de încredere trebuie setată la o valoare specifică. Nu există o valoare implicită. Ancora de încredere este necesară dacă opţiunea Încredere în orice certificat nu este selectată.

Autentificare de bază

Câmpurile din secţiunea Autentificare de bază sunt disponibile dacă configuraţi un jeton de autentificare care nu este un jeton de propagare LTPA.

Pentru tipul de jeton personalizat Kerberos, trebuie să completaţi secţiunea Autentificare de bază pentru logarea Kerberos.

Nume utilizator

Specifică numele utilizator pe care doriţi să îl autentificaţi.

Parola

Specifică parola care trebuie autentificată. Introduceţi o parolă de autentificat în acest câmp intrare.

Confirmare parolă

Specifică parola pe care doriţi să o confirmaţi.

Depozit de chei

Câmpurile pentru depozitul de chei nu sunt disponibile atunci când mediul runtime determină că nu sunt necesare.

În lista de nume Depozit de chei, puteţi face clic pe Personalizat pentru a defini un depozit de chei personalizat, puteţi face clic pe unul dintre numele depozit de chei definite extern sau puteţi face clic pe Fără dacă nu este necesar niciun depozit de chei.

Depozit de chei - Nume

Specifică numele depozitului de chei pe care doriţi să-l utilizaţi.

Faceţi clic pe numele unui depozit de chei din acest meniu sau selectaţi una dintre următoarele valori:
Fără
Specifică neutilizarea unui depozit de chei.
Personalizare
Specifică utilizarea unui depozit de chei definit de utilizator. Faceţi clic pe legătura Configuraţie depozit de chei personalizat pentru a configura setările depozitului de chei personalizat şi ale cheii.

Cheie

Specifică faptul că atributele cheii sunt extrase din depozitul de chei configurat. Unele câmpuri din secţiunea Cheie nu sunt disponibile atunci când mediul runtime determină că nu sunt necesare.

Când pentru Depozit de chei este selectat un depozit de chei gestionat central, devin disponibile câmpurile din secţiunea Cheie.

Numele

Specifică numele cheii de utilizat. Lista este populată cu cheile disponibile în depozitul de chei gestionat central selectat. Selectaţi numele cheii pe care doriţi să o utilizaţi sau '(fără)' dacă nu urmează să fie utilizată nicio cheie.

Alias

Afişează aliasul numelui e cheie selectat.

Parola

Specifică parola pentru cheia pe care doriţi să o utilizaţi. Aceste câmp va fi disponibil numai atunci când mediul runtime determină că este necesar.

Nu puteţi seta o parolă pentru chei publice pentru generator de criptare asimetrică sau pentru consumator de semnătură asimetrică. Vedeţi 'evitarea problemelor' la începutul articolului.

Confirmare parolă

Specifică confirmarea parolei pentru cheia pe care doriţi să o utilizaţi. Aceste câmp va fi disponibil numai atunci când mediul runtime determină că este necesar.

Nu furnizaţi o parolă confirmare cheie pentru chei publice pentru criptare ieşire şi pentru semnătură intrare asimetrice.

Depozit de chei - Configuraţie depozit de chei personalizat

Specifică o legătură către crearea unui depozit de chei personalizat. Faceţi clic pe această legătură pentru a putea configura un depozit de chei personalizat.

Parolă depozit chei

Specifică parola care este utilizată pentru accesarea fişierului depozit de chei.

Cale depozit de chei

Specifică locaţia fişierului depozit de chei.

Utilizaţi ${USER_INSTALL_ROOT} în numele de cale pentru că această variabilă se expandează la calea produsului de pe maşina dumneavoastră. Pentru a modifica calea utilizată de această variabilă, apăsaţi pe Mediu > Variabile WebSphere şi apăsaţi pe USER_INSTALL_ROOT.

Tip depozit de chei

Specifică tipul formatului fişierului depozit de chei

Alegeţi una dintre următoarele valori pentru acest câmp:
JKS
Utilizaţi această opţiune dacă depozitul de chei utilizează formatul Java Keystore (JKS).
JCEKS
Folosiţi această opţiune dacă Java Cryptography Extension este configurat în kitul (SDK) de dezvoltare software. JCE-ul IBM® implicit este configurat în serverul de aplicaţii. Această opţiune furnizează o protecţie mai puternică pentru cheile private stocate utilizând criptarea DES triplă.
[z/OS] JCERACFKS
Utilizaţi JCERACFKS dacă certificatele sunt stocate într-un inel de chei SAF (doar z/OS).
PKCS12KS (PKCS12)
Utilizaţi această opţiune dacă fişierul dumneavoastră depozit de chei utilizează formatul de fişier PKCS#12.

Proprietăţile personalizate

Câmpurile din secţiunea Proprietăţi personalizate sunt disponibile pentru toate tipurile de configuraţii token.

Puteţi adăuga proprietăţi personalizate necesare pentru handlerul callback utilizând perechi nume-valoare.

Pentru a implementa criptarea certificat semnatar atunci când utilizaţi modelul de programare JAX-WS, adăugaţi proprietatea personalizată com.ibm.wsspi.wssecurity.token.cert.useRequestorCert cu valoarea true în handlerul callback al generatorului jeton criptare. Această implementare utilizează certificatul semnatarului cererii SOAP pentru criptarea răspunsului SOAP. Această proprietate personalizată este utilizată de către generatorul de răspuns.

Pentru un jeton personalizat Kerberos bazat pe OASIS Web Services Security Specification for Kerberos Token Profile V1.1, specificaţi următoarea proprietate pentru generarea jetonului: com.ibm.wsspi.wssecurity.krbtoken.clientRealm. Aceasta specifică numele regiunii Kerberos asociate cu clientul şi permite regiunii client Kerberos să inţializeze logarea Kerberos. Dacă nu este specificat, este utilizat numele regiunii Kerberos implicit. Această proprietate este opţională pentru un mediu cu o singură regiune Kerberos.

Proprietatea personalizată Kerberos, com.ibm.wsspi.wssecurity.krbtoken.loginPrompt, activează logarea Kerberos atunci când valoarea este adevăr. Valoarea implicită este false. Această proprietate este opţională.

Atunci când configuraţi un jeton nume utilizator pentru modelul de programare JAX-WS, pentru protecţie împotriva atacurilor prin redare este recomandat să adăugaţi următoarele proprietăţi personalizate la configuraţia handler callback. Aceste proprietăţi personalizate activează şi verifică nonce şi amprenta de timp pentru autentificarea mesajului.
Nume proprietate (generator) Valoare proprietate
com.ibm.wsspi.wssecurity.token.username.addNonce adevărat
com.ibm.wsspi.wssecurity.token.username.addTimestamp adevărat
Nume proprietate (consumator) Valoare proprietate
com.ibm.wsspi.wssecurity.token.username.verifyNonce adevărat
com.ibm.wsspi.wssecurity.token.username.verifyTimestamp adevărat

Numele

Specifică numele proprietăţii personalizate de utilizat.

Proprietăţile personalizate nu sunt afişate iniţial în această coloană. Faceţi clic pe una dintre următoarele acţiuni pentru proprietăţi personalizate:

Buton Acţiune rezultat
Nou Creează o nouă intrare pentru proprietatea particularizată. Pentru a adăuga o proprietate particularizată, introduceţi numele şi valoarea.
Ştergere Înlătură proprietatea particularizată selectată.

Valoare

Specifică valoarea proprietăţii personalizate de utilizat. Cu câmpul intrare Valoare, puteţi introduce sau şterge valoarea pentru o proprietate personalizată.



Numele fişierului: uwbs_wsspsbch.html