Vairāk

8.5. Jauna lapa - ģeozinātnes


8.5. Jauna lapa

Problēma

Kad interneta informācijas pakalpojumi (IIS) pakalpojumā Windows Server 2012 sākas sistēmas sāknēšanas laikā, tas automātiski aktivizē visas konfigurētās vietnes. Tas nozīmē, ka, pirmo reizi piekļūstot jebkurai vietnei, tā būs pieejama un ātri reaģēs. Tomēr sistēmai, kurā ir konfigurēts liels vietņu skaits, visu šo vietņu vienlaicīga aktivizēšana prasa ne tikai daudz laika un resursu, bet vietnes var izmantot lielu atmiņas apjomu. Ja lielākajai daļai vietņu piekļūst reti, tas var būt nevajadzīga sistēmas resursu izšķiešana.

Ņemiet vērā, ka & quotactivation & quot šajā kontekstā attiecas uz procesu, kurā IIS reģistrē vietni ar HTTP protokola steku (HTTP.SYS), kas ir daļa no Windows Server operētājsistēmas. Šo aktivizēšanu nedrīkst jaukt ar darbinieka procesa izveidi vietnei.


Apache Tomcat 8

Zemāk esošajā aprakstā tiek izmantots mainīgā nosaukums $ CATALINA_BASE, lai norādītu bāzes direktoriju, ar kuru tiek atrisināta lielākā daļa relatīvo ceļu. Ja neesat konfigurējis Tomcat vairākiem gadījumiem, iestatot direktoriju CATALINA_BASE, tad $ CATALINA_BASE tiks iestatīta uz vērtību $ CATALINA_HOME - direktoriju, kurā esat instalējis Tomcat.

Lai Tomcat instalētu un konfigurētu SSL/TLS atbalstu, jums jāveic šādas vienkāršas darbības. Lai iegūtu vairāk informācijas, izlasiet pārējo šo pamācību.

Izveidojiet atslēgu krātuves failu, lai saglabātu servera privāto atslēgu un pašparakstītu sertifikātu, izpildot šādu komandu:

un norādiet paroles vērtību "changeit".

Noņemiet komentāru ierakstā "SSL HTTP/1.1 savienotājs" failā $ CATALINA_BASE/conf/server.xml un mainiet, kā aprakstīts tālāk sadaļā Konfigurācija.

Ievads SSL/TLS

Transporta slāņa drošība (TLS) un tās priekštecis Secure Sockets Layer (SSL) ir tehnoloģijas, kas ļauj tīmekļa pārlūkprogrammām un tīmekļa serveriem sazināties, izmantojot drošu savienojumu. Tas nozīmē, ka nosūtītie dati tiek šifrēti no vienas puses, tiek pārsūtīti, pēc tam otra puse atšifrē pirms apstrādes. Tas ir divvirzienu process, kas nozīmē, ka gan serveris, gan pārlūkprogramma pirms datu nosūtīšanas šifrē visu trafiku.

Vēl viens svarīgs SSL/TLS protokola aspekts ir autentifikācija. Tas nozīmē, ka sākotnējā mēģinājuma laikā sazināties ar tīmekļa serveri, izmantojot drošu savienojumu, šis serveris parādīs jūsu tīmekļa pārlūkprogrammai akreditācijas datu kopu “sertifikāta” veidā, lai pierādītu, ka vietne ir tā, kas un ko tā apgalvo būt. Noteiktos gadījumos serveris var arī pieprasīt sertifikātu no jūsu tīmekļa pārlūkprogrammas, lūdzot to pierādīt jūs esat tas, par kuru jūs apgalvojat. To sauc par "klienta autentifikāciju", lai gan praksē to vairāk izmanto darījumiem starp uzņēmumiem (B2B) nekā atsevišķiem lietotājiem. Lielākā daļa SSL iespējoto tīmekļa serveru neprasa klienta autentifikāciju.

SSL/TLS un Tomcat

Ir svarīgi atzīmēt, ka Tomcat konfigurēšana, lai izmantotu drošo ligzdu priekšrocības, parasti ir nepieciešama tikai tad, ja to izmanto kā atsevišķu tīmekļa serveri. Sīkāka informācija ir atrodama drošības apsvērumu dokumentā. Palaižot Tomcat galvenokārt kā Servlet/JSP konteineru aiz cita tīmekļa servera, piemēram, Apache vai Microsoft IIS, parasti ir jākonfigurē primārais tīmekļa serveris, lai apstrādātu lietotāju SSL savienojumus. Parasti šis serveris apspriedīs visas ar SSL saistītās funkcijas, pēc tam visus pieprasījumus, kas paredzēti Tomcat konteineram, nodos tālāk tikai pēc šo pieprasījumu atšifrēšanas. Tāpat Tomcat atgriezīs skaidras teksta atbildes, kas tiks šifrētas pirms atgriešanās lietotāja pārlūkprogrammā. Šajā vidē Tomcat zina, ka saziņa starp primāro tīmekļa serveri un klientu notiek, izmantojot drošu savienojumu (jo jūsu lietojumprogrammai ir jāprot par to jautāt), taču tā nepiedalās šifrēšanā vai atšifrēšanā.

Tomcat spēj izmantot jebkuru no kriptogrāfijas protokoliem, ko nodrošina pamatā esošā vide. Java pati nodrošina kriptogrāfijas iespējas, izmantojot JCE/JCA, un šifrētas komunikācijas iespējas, izmantojot JSSE. Jebkurš saderīgs kriptogrāfijas "nodrošinātājs" var nodrošināt Tomcat kriptogrāfijas algoritmus. Iebūvētais pakalpojumu sniedzējs (SunJCE) ietver atbalstu dažādām SSL/TLS versijām, piemēram, SSLv3, TLSv1, TLSv1.1 utt. Pārbaudiet savas Java versijas dokumentāciju, lai iegūtu sīkāku informāciju par protokolu un algoritmu atbalstu.

Ja izmantojat papildu tcnative bibliotēku, varat izmantot OpenSSL kriptogrāfijas nodrošinātāju, izmantojot JCA/JCE/JSSE, kas var nodrošināt atšķirīgu kriptogrāfisko algoritmu izvēli un/vai veiktspējas priekšrocības salīdzinājumā ar SunJCE pakalpojumu sniedzēju. Varat arī izmantot tcnative, lai iespējotu APR savienotāju, kura kriptogrāfijas darbībām tiek izmantots OpenSSL. Pārbaudiet savas OpenSSL versijas dokumentāciju, lai iegūtu sīkāku informāciju par protokolu un algoritmu atbalstu.

Sertifikāti

Lai ieviestu SSL, tīmekļa serverim ir jābūt saistītam sertifikātam katrai ārējai saskarnei (IP adresei), kas pieņem drošus savienojumus. Šī dizaina teorija ir tāda, ka serverim jāsniedz sava veida pamatota pārliecība, ka tā īpašnieks ir tas, kas jūs domājat, it īpaši pirms jebkādas sensitīvas informācijas saņemšanas. Lai gan plašāks sertifikātu skaidrojums neietilpst šī dokumenta darbības jomā, iedomājieties, ka sertifikāts ir “digitālā pase” interneta adresei. Tajā ir norādīts, ar kuru organizāciju vietne ir saistīta, kā arī pamata kontaktinformācija par vietnes īpašnieku vai administratoru.

Šo sertifikātu ir parakstījis tā īpašnieks, tāpēc to ir ļoti grūti viltot. Lai sertifikāts darbotos apmeklētāju pārlūkprogrammās bez brīdinājumiem, tam jābūt parakstītam ar uzticamu trešo pusi. Šos sauc Sertifikātu iestādes (CA). Lai iegūtu parakstītu sertifikātu, jums jāizvēlas CA un jāievēro norādījumi, ko jūsu izvēlētā CA sniedz, lai iegūtu sertifikātu. Ir pieejamas vairākas CA, tostarp dažas, kas piedāvā sertifikātus bez maksas.

Java nodrošina salīdzinoši vienkāršu komandrindas rīku, ko sauc par keytool, kas var viegli izveidot "pašparakstītu" sertifikātu. Pašparakstīti sertifikāti ir vienkārši lietotāju ģenerēti sertifikāti, kurus nav parakstījusi labi pazīstama CA un tāpēc netiek garantēts, ka tie vispār būs autentiski. Lai gan pašparakstīti sertifikāti var būt noderīgi dažiem testēšanas scenārijiem, tie nav piemēroti nekādai ražošanas izmantošanai.

Vispārīgi padomi SSL palaišanai

Aizsargājot vietni, izmantojot SSL, ir svarīgi pārliecināties, ka visi vietnes izmantotie līdzekļi tiek pasniegti, izmantojot SSL, lai uzbrucējs nevarētu apiet drošību, injicējot ļaunprātīgu saturu JavaScript failā vai tamlīdzīgi. Lai vēl vairāk uzlabotu savas vietnes drošību, jums jāizvērtē HSTS galvenes izmantošana. Tas ļauj jums paziņot pārlūkprogrammai, ka jūsu vietnei vienmēr vajadzētu piekļūt, izmantojot https.

Lai izmantotu uz nosaukumiem balstītus virtuālos saimniekdatorus drošā savienojumā, ir rūpīgi jākonfigurē nosaukumi, kas norādīti vienā sertifikātā vai sākot no Tomcat 8.5, ja ir pieejams servera nosaukuma indikācijas (SNI) atbalsts. SNI ļauj ar vienu TLS savienotāju saistīt vairākus sertifikātus ar dažādiem nosaukumiem.

Konfigurācija

Sagatavojiet sertifikātu atslēgu krātuvi

Tomcat pašlaik darbojas tikai JKS, PKCS11 vai PKCS12 formāta atslēgu krātuvēs. JKS formāts ir Java standarta "Java KeyStore" formāts, un tas ir formāts, ko izveidojusi komandrindas utilīta keytool. Šis rīks ir iekļauts JDK. PKCS12 formāts ir interneta standarts, un ar to var manipulēt, izmantojot (cita starpā) OpenSSL un Microsoft atslēgu pārvaldnieku.

Katru ierakstu atslēgu krātuvē identificē ar aizstājvārda virkni. Lai gan daudzas atslēgu krātuves implementācijas aizstājvārdus izturas pret reģistriem nejutīgu, ir pieejamas reģistrjutīgas ieviešanas. Piemēram, PKCS11 specifikācijā ir noteikts, ka aizstājvārdi ir reģistrjutīgi. Lai izvairītos no problēmām, kas saistītas ar aizstājvārdu reģistrjutību, nav ieteicams izmantot aizstājvārdus, kas atšķiras tikai gadījumā.

Lai importētu esošu sertifikātu JKS atslēgu krātuvē, lūdzu, izlasiet dokumentāciju (jūsu JDK dokumentācijas pakotnē) par keytool. Ņemiet vērā, ka OpenSSL bieži pievieno lasāmus komentārus pirms atslēgas, taču keytool to neatbalsta. Tātad, ja jūsu sertifikātā ir komentāri pirms galvenajiem datiem, noņemiet tos pirms sertifikāta importēšanas ar keytool.

Lai importētu esošu jūsu CA parakstītu sertifikātu PKCS12 atslēgu krātuvē, izmantojot OpenSSL, izpildiet šādu komandu:

Sarežģītākos gadījumos skatiet OpenSSL dokumentāciju.

Lai no jauna izveidotu jaunu JKS atslēgu krātuvi, kas satur vienu pašu parakstītu sertifikātu, izpildiet tālāk norādītās darbības no termināļa komandrindas.

(RSA algoritmam ir jādod priekšroka kā drošam algoritmam, un tas arī nodrošina vispārēju saderību ar citiem serveriem un komponentiem.)

Šī komanda izveidos jaunu failu tā lietotāja mājas direktorijā, ar kuru jūs to palaižat, ar nosaukumu ".keystore". Lai norādītu citu atrašanās vietu vai faila nosaukumu, pievienojiet atslēgas krātuves failam parametru -keystore, kam seko pilnīgs ceļa nosaukums, iepriekš parādītajai komandai keytool. Jums būs arī jāatspoguļo šī jaunā atrašanās vieta konfigurācijas failā server.xml, kā aprakstīts vēlāk. Piemēram:

Pēc šīs komandas izpildīšanas vispirms tiks prasīts ievadīt atslēgu krātuves paroli. Tomcat izmantotā noklusējuma parole ir "changeit" (visi mazie burti), lai gan, ja vēlaties, varat norādīt pielāgotu paroli. Jums būs jānorāda arī pielāgotā parole konfigurācijas failā server.xml, kā aprakstīts vēlāk.

Tālāk jums tiks piedāvāta vispārīga informācija par šo sertifikātu, piemēram, uzņēmums, kontaktpersonas vārds utt. Šī informācija tiks parādīta lietotājiem, kuri jūsu lietojumprogrammā mēģina piekļūt drošai lapai, tāpēc pārliecinieties, vai šeit sniegtā informācija atbilst gaidītajam.

Visbeidzot, jums tiks piedāvāts atslēgas parole, kas ir šī sertifikāta parole (atšķirībā no citiem sertifikātiem, kas saglabāti tajā pašā atslēgu krātuves failā). Taustiņinstrumenta uzvedne jums pateiks, ka, nospiežot taustiņu ENTER, atslēgai automātiski tiek izmantota tāda pati parole kā atslēgu krātuvei. Jūs varat brīvi izmantot to pašu paroli vai izvēlēties pielāgotu paroli. Ja atslēgu krātuves parolei izvēlaties citu paroli, konfigurācijas failā server.xml būs jānorāda arī pielāgotā parole.

Ja viss bija veiksmīgs, tagad jums ir atslēgu krātuves fails ar sertifikātu, ko var izmantot jūsu serveris.

Rediģējiet Tomcat konfigurācijas failu

Tomcat var izmantot trīs dažādas SSL ieviešanas iespējas:

  • JSSE ieviešana tiek nodrošināta kā daļa no Java izpildlaika
  • JSSE ieviešana, kas izmanto OpenSSL
  • GPL ieviešana, kas pēc noklusējuma izmanto OpenSSL dzinēju

Precīza konfigurācijas informācija ir atkarīga no tā, kura ieviešana tiek izmantota. Ja konfigurējāt savienotāju, norādot vispārējo protokolu = "HTTP/1.1", tad Tomcat izmantotā ieviešana tiek izvēlēta automātiski. Ja instalācijā tiek izmantots APR, t.i., esat instalējis Tomcat vietējo bibliotēku, tad tā izmantos JSSE OpenSSL ieviešanu, pretējā gadījumā tā izmantos Java JSSE ieviešanu.

Vajadzības gadījumā var izvairīties no ieviešanas automātiskās izvēles. Tas tiek darīts, sadaļā norādot klases nosaukumu protokols savienotāja atribūts.

Lai definētu Java (JSSE) savienotāju neatkarīgi no tā, vai APR bibliotēka ir ielādēta vai nē, izmantojiet kādu no šīm iespējām:

Ja nepieciešams, OpenSSL JSSE ieviešanu var arī skaidri konfigurēt. Ja GPL bibliotēka ir instalēta (piemēram, izmantojot APR savienotāju), atribūta sslImplementationName izmantošana ļauj to iespējot. Izmantojot OpenSSL JSSE ieviešanu, konfigurācija var izmantot vai nu JSSE atribūtus, vai OpenSSL atribūtus (kā izmantoti APR savienotājam), bet nedrīkst sajaukt abu veidu atribūtus vienā SSLHostConfig vai Connector elementā.

Alternatīvi, lai norādītu GPL savienotāju (jābūt pieejamam GPL bibliotēkai), izmantojiet:

Ja izmantojat APR vai JSSE OpenSSL, jums ir iespēja konfigurēt alternatīvu OpenSSL dzinēju.

Arī atribūtu useAprConnector var izmantot, lai Tomcat pēc noklusējuma izmantotu APR savienotāju, nevis NIO savienotāju:

Tāpēc, lai iespējotu OpenSSL, pārliecinieties, vai SSLEngine atribūts ir iestatīts uz kaut ko citu, nevis izslēgtu. Noklusējuma vērtība ir ieslēgta, un, ja norādāt citu vērtību, tai ir jābūt derīgam OpenSSL dzinēja nosaukumam.

SSLRandomSeed ļauj norādīt entropijas avotu. Produktīvai sistēmai ir vajadzīgs uzticams entropijas avots, bet entropijas savākšanai var būt nepieciešams daudz laika, tāpēc testa sistēmās nevarētu izmantot nekādus bloķējošus entropijas avotus, piemēram, "/dev/urandom", kas ļaus ātrāk sākt Tomcat.

Pēdējais solis ir konfigurēt savienotāju failā $ CATALINA_BASE/conf/server.xml, kur $ CATALINA_BASE attēlo Tomcat instances pamata direktoriju. SSL savienotāja & ltConnector & gt elementa piemērs ir iekļauts noklusējuma failā server.xml, kas instalēts kopā ar Tomcat. Lai konfigurētu SSL savienotāju, kas izmanto JSSE, jums būs jānoņem komentāri un jārediģē tā, lai tas izskatās apmēram šādi:

Piezīme. Ja ir instalēts Tomcat-native, konfigurācija izmantos JSSE ar OpenSSL ieviešanu, kas atbalsta vai nu šo konfigurāciju, vai tālāk norādīto APR konfigurācijas piemēru.

GPL savienotājs izmanto dažādus atribūtus daudziem SSL iestatījumiem, jo ​​īpaši atslēgām un sertifikātiem. GPL konfigurācijas piemērs ir šāds:

Konfigurācijas opcijas un informācija par obligātajiem atribūtiem ir dokumentēta HTTP savienotāja konfigurācijas atsauces sadaļā SSL atbalsts. Pārliecinieties, vai izmantotajam savienotājam izmantojat pareizos atribūtus. NIO un NIO2 savienotāji izmanto JSSE, ja vien nav instalēta JSSE OpenSSL ieviešana (tādā gadījumā tas atbalsta vai nu JSSE, vai OpenSSL konfigurācijas stilus), bet APR/vietējais savienotājs izmanto APR.

Porta atribūts ir TCP/IP porta numurs, kurā Tomcat klausīsies drošus savienojumus. Varat to mainīt uz jebkuru vēlamo porta numuru (piemēram, uz noklusējuma portu https sakariem, kas ir 443). Tomēr, lai palaistu Tomcat ar portu skaitu, kas mazāks par 1024, daudzās operētājsistēmās ir nepieciešama īpaša iestatīšana (ārpus šī dokumenta darbības jomas).

Ja šeit maināt porta numuru, jāmaina arī vērtība, kas norādīta atribūtam redirectPort uz savienotāja, kas nav SSL. Tas ļauj Tomcat automātiski novirzīt lietotājus, kuri mēģina piekļūt lapai ar drošības ierobežojumu, norādot, ka SSL ir nepieciešams, kā noteikts Servleta specifikācijā.

Pēc šo konfigurācijas izmaiņu pabeigšanas jums ir jārestartē Tomcat kā parasti, un jums ir jāsāk bizness. Jums vajadzētu būt iespējai piekļūt jebkurai tīmekļa lietojumprogrammai, ko atbalsta Tomcat, izmantojot SSL. Piemēram, mēģiniet:

un jums vajadzētu redzēt parasto Tomcat izlaišanas lapu (ja vien neesat modificējis tīmekļa lietojumprogrammu ROOT). Ja tas nedarbojas, nākamajā sadaļā ir sniegti daži problēmu novēršanas padomi.

Sertifikāta instalēšana no sertifikātu iestādes

Lai iegūtu un instalētu sertifikātu no sertifikātu iestādes (piemēram, verisign.com, thawte.com vai trustcenter.de), izlasiet iepriekšējo sadaļu un pēc tam izpildiet šos norādījumus:

Vietējā sertifikāta parakstīšanas pieprasījuma (CSR) izveide

Lai iegūtu sertifikātu no jūsu izvēlētās sertifikācijas iestādes, jums jāizveido tā sauktais sertifikāta parakstīšanas pieprasījums (CSR). Sertifikātu iestāde izmantos šo CSR, lai izveidotu sertifikātu, kas identificēs jūsu vietni kā “drošu”. Lai izveidotu CSR, rīkojieties šādi:

    Izveidojiet vietējo pašparakstītu sertifikātu (kā aprakstīts iepriekšējā sadaļā):

Tagad jums ir fails certreq.csr, ko varat iesniegt sertifikāta iestādei (kā to izdarīt, skatiet sertifikāta iestādes tīmekļa vietnes dokumentāciju). Pretī saņem sertifikātu.

Sertifikāta importēšana

Tagad, kad jums ir sertifikāts, varat to importēt vietējā atslēgu krātuvē. Pirmkārt, atslēgu krātuvē ir jāimportē tā sauktais ķēdes sertifikāts vai saknes sertifikāts. Pēc tam varat turpināt sertifikāta importēšanu.

  • Lejupielādējiet ķēdes sertifikātu no sertifikātu iestādes, no kuras saņēmāt sertifikātu.
    Lai iegūtu Verisign.com komerciālos sertifikātus, apmeklējiet: http://www.verisign.com/support/install/intermediate.html
    Lai iegūtu Verisign.com izmēģinājuma sertifikātus, apmeklējiet: http://www.verisign.com/support/verisign-intermediate-ca/Trial_Secure_Server_Root/index.html
    Lai iegūtu Trustcenter.de, dodieties uz: http://www.trustcenter.de/certservices/cacerts/en/en.htm#server
    Vietnei Thawte.com dodieties uz: http://www.thawte.com/certs/trustmap.html
  • Importējiet ķēdes sertifikātu savā atslēgu krātuvē

Katra sertifikātu iestāde mēdz nedaudz atšķirties no citām. Tie var prasīt nedaudz atšķirīgu informāciju un/vai nodrošināt sertifikātu un ar to saistīto sertifikātu ķēdi dažādos formātos. Turklāt noteikumi, ko sertifikātu iestādes izmanto sertifikātu izsniegšanai, laika gaitā mainās. Tā rezultātā var secināt, ka iepriekš dotās komandas var būt jāmaina. Ja jums nepieciešama palīdzība, palīdzība ir pieejama, izmantojot Apache Tomcat lietotāju adresātu sarakstu.

OCSP sertifikātu izmantošana

Lai kopā ar Apache Tomcat izmantotu tiešsaistes sertifikātu statusa protokolu (OCSP), pārliecinieties, vai esat lejupielādējis, instalējis un konfigurējis Tomcat vietējo savienotāju. Turklāt, ja izmantojat Windows platformu, noteikti lejupielādējiet savienotāju ar ocsp.

Lai izmantotu OCSP, jums ir nepieciešams:

  • OCSP iespējoti sertifikāti
  • Tomcat ar SSL APR savienotāju
  • Konfigurēts OCSP atbildētājs

OCSP iespējotu sertifikātu ģenerēšana

Apache Tomcat pieprasa, lai sertifikātā, kurā ir iespējota OCSP, sertifikātā būtu iekodēta OCSP atbildētāja atrašanās vieta. Ar OCSP saistītie sertifikātu iestādes pamata iestatījumi failā openssl.cnf varētu izskatīties šādi:

Iepriekš minētie iestatījumi sertifikātā kodē OCSP atbildētāja adresi 127.0.0.1:8088. Ņemiet vērā, ka, veicot tālāk norādītās darbības, jums jābūt gatavam opensl.cnf un citai CA konfigurācijai. Lai izveidotu sertifikātu ar OCSP, veiciet tālāk norādītās darbības.

OCSP savienotāja konfigurēšana

Lai konfigurētu OCSP savienotāju, vispirms pārbaudiet, vai ielādējat Tomcat APR bibliotēku. Lai iegūtu papildinformāciju par GPL instalēšanu, pārbaudiet Tompac vietējo bibliotēku, kuras pamatā ir Apache Portable Runtime (APR). Pamata OCSP iespējota savienotāja definīcija failā server.xml izskatās šādi:

Notiek OCSP Responder palaišana

Apache Tomcat veiks vaicājumu OCSP atbildes serverim, lai iegūtu sertifikāta statusu. Pārbaudot, vienkāršs veids, kā izveidot OCSP atbildētāju, ir veikt šādas darbības:

Ņemiet vērā, ka, izmantojot OCSP, ir jādarbojas savienotāja sertifikātā iekodētajam atbildētājam. Papildinformāciju skatiet OCSP dokumentācijā.

Traucējummeklēšana

Šeit ir saraksts ar visbiežāk sastopamajām problēmām, ar kurām var saskarties, iestatot SSL sakarus, un to, kā ar tām rīkoties.

    Kad Tomcat sāk darboties, tiek parādīts izņēmums, piemēram, "java.io.FileNotFoundException: / nav atrasts".

Iespējams skaidrojums ir tāds, ka Tomcat nevar atrast atslēgu krātuves failu, kur tas meklē. Pēc noklusējuma Tomcat sagaida, ka atslēgu krātuves failam tiks dots nosaukums .keystore lietotāja mājas direktorijā, kurā darbojas Tomcat (kas var būt vai nebūt tāds pats kā jūsu :-). Ja atslēgu krātuves fails atrodas kaut kur citur, Tomcat konfigurācijas faila elementam & ltConnector & gt jāpievieno atribūts keystoreFile.

Pieņemot, ka kādam nav patiesībā ja tiek traucēts jūsu atslēgu krātuves fails, visticamāk, iemesls ir tas, ka Tomcat izmanto citu paroli, nevis to, ko izmantojāt, veidojot atslēgu krātuves failu. Lai to labotu, varat atgriezties un atjaunot atslēgu krātuves failu, vai arī pievienot vai atjaunināt keytorePass atribūtu Tomcat konfigurācijas faila elementā & ltConnector & gt. ATGĀDINĀJUMS - Paroles ir reģistrjutīgas!

Iespējams skaidrojums ir tāds, ka Tomcat nevar atrast servera atslēgas aizstājvārdu norādītajā atslēgu krātuvē. Pārbaudiet, vai Tomcat konfigurācijas faila & ltConnector & gt elementā ir norādīts pareizais keytoreFile un keyAlias. ATGĀDINĀJUMS - keyAlias ​​vērtības var būt reģistrjutīgas!

Ja izmantojat APR/vietējo savienotāju vai JSSE OpenSSL ieviešanu, tas noteiks īslaicīgo DH atslēgu stiprumu no jūsu RSA sertifikāta atslēgas lieluma. Piemēram, ar 2048 bitu RSA atslēgu DH atslēgām tiks izmantots 2048 bitu primārais. Diemžēl Java 6 atbalsta tikai 768 bitus un Java 7 atbalsta tikai 1024 bitus. Tātad, ja jūsu sertifikātā ir spēcīgāka atslēga, vecie Java klienti var izraisīt šādas rokasspiediena kļūmes. Lai mazinātu situāciju, varat vai nu mēģināt piespiest viņus izmantot citu šifru, konfigurējot atbilstošu SSLCipherSuite un aktivizēt SSLHonorCipherOrder, vai arī iegult sertifikāta failā vājus DH parametrus. Pēdējā pieeja nav ieteicama, jo tā vājina SSL drošību (logjam uzbrukums).

Ja jums joprojām ir problēmas, labs informācijas avots ir TOMCAT-LIETOTĀJS adresātu sarakstu. Norādes uz iepriekšējā ziņojuma arhīviem šajā sarakstā, kā arī informāciju par abonēšanu un atrakstīšanos varat atrast vietnē https://tomcat.apache.org/lists.html.

SSL izmantošana sesijas izsekošanai jūsu lietojumprogrammā

Šī ir jauna Servlet 3.0 specifikācijas funkcija. Tā kā tas izmanto SSL sesijas ID, kas saistīts ar fizisko klienta-servera savienojumu, ir daži ierobežojumi. Viņi ir:

  • Tomcat jābūt savienotājam ar atribūtu isSecure iestatīts uz true.
  • Ja SSL savienojumus pārvalda starpniekserveris vai aparatūras paātrinātājs, tiem jāaizpilda SSL pieprasījumu galvenes (skatiet SSLValve), lai Tomcat redzētu SSL sesijas ID.
  • Ja Tomcat pārtrauc SSL savienojumu, sesijas replikāciju nevarēs izmantot, jo SSL sesijas ID katrā mezglā būs atšķirīgi.

Lai iespējotu SSL sesiju izsekošanu, jums jāizmanto konteksta klausītājs, lai iestatītu konteksta izsekošanas režīmu tikai SSL (ja ir iespējots kāds cits izsekošanas režīms, tas tiks izmantots kā priekšroka). Tas varētu izskatīties apmēram šādi:

Piezīme: SSL sesiju izsekošana ir ieviesta NIO un NIO2 savienotājiem. Tas vēl nav ieviests APR savienotājam.

Dažādi padomi un uzgaļi

Lai piekļūtu SSL sesijas ID no pieprasījuma, izmantojiet:

Papildu diskusijas par šo jomu, lūdzu, skatiet Bugzilla.

Lai pārtrauktu SSL sesiju, izmantojiet:

Ņemiet vērā, ka šis kods ir specifisks Tomcat, jo tiek izmantota klase SSLSessionManager. Pašlaik tas ir pieejams tikai NIO un NIO2 savienotājiem, nevis APR/vietējam savienotājam.