{"id":3672,"date":"2017-03-02T08:38:54","date_gmt":"2017-03-02T07:38:54","guid":{"rendered":"https:\/\/www.dontesta.it\/blog\/?p=3672"},"modified":"2022-03-13T12:33:35","modified_gmt":"2022-03-13T11:33:35","slug":"come-abilitare-https-apache-karaf-pax-web","status":"publish","type":"post","link":"https:\/\/www.dontesta.it\/en\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/","title":{"rendered":"(Italiano) Come abilitare HTTPS su Apache Karaf Pax Web"},"content":{"rendered":"<p class=\"qtranxs-available-languages-message qtranxs-available-languages-message-en\">Sorry, this entry is only available in <a href=\"https:\/\/www.dontesta.it\/it\/wp-json\/wp\/v2\/posts\/3672\" class=\"qtranxs-available-language-link qtranxs-available-language-link-it\" title=\"Italiano\">Italiano<\/a>.<\/p><p><\/p>\n<p style=\"text-align: justify;\">[dropcap]Q[\/dropcap]uante volte ci\u00a0siamo trovati nella condizione di\u00a0combattere con la configurazione del protocollo <strong>HTTPS<\/strong>? Sicuramente una miriade di volte e mai andata a buon fine a primo colpo.<\/p>\n<p style=\"text-align: justify;\">In questo post vedremo come configurare il protocollo HTTPS per il container <strong>OSGi <a href=\"http:\/\/karaf.apache.org\" target=\"_blank\" rel=\"noopener noreferrer\">Apache Karaf<\/a><\/strong>.\u00a0Il container Apache Karaf implementa le specifiche\u00a0<strong>OSGi HTTP Service<\/strong> tramite il componente software <a href=\"http:\/\/ops4j.github.io\/pax\/web\/SNAPSHOT\/User-Guide.html\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"broken_link\"><strong>Pax Web<\/strong><\/a>.<\/p>\n<p style=\"text-align: justify;\">Pax Web estende OSGi HTTP Service con un supporto migliore per <em>servlet<\/em>, <em>filtri<\/em>, <em>listener<\/em>, pagine di errore e JSP al fine di soddisfare le\u00a0pi\u00f9 recenti versioni delle specifiche che sono alla base delle servlet.\u00a0Pax Web supporta il protocollo <strong>SSL\/TLS<\/strong> (HTTPS) grazie a\u00a0<a href=\"http:\/\/www.eclipse.org\/jetty\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Jetty<\/strong><\/a>\u00a0che include appunto il supporto a questo protocollo di sicurezza.<\/p>\n<p>La versione di Apache Karaf di\u00a0riferimento \u00e8 la 4.0.8 che utilizza la versione 4.3.0 di Pax Web che possiede le seguenti caratteristiche:<\/p>\n<ul>\n<li>Servlet 3.1<\/li>\n<li>JSP 2.3<\/li>\n<li>JSF 2.2<\/li>\n<li>Jetty 9.2.x<\/li>\n<li>Tomcat 8.0.x (sperimentale)<\/li>\n<li>supporto per\u00a0CDI (tramite Pax-CDI)<\/li>\n<li>supporto Servlet 3.1 con il\u00a0Whiteboard extender<\/li>\n<li>supporto delle\u00a0Websockets JSR 356 (solo Jetty)<\/li>\n<li>Web-Fragments<\/li>\n<\/ul>\n<h1>1. Installazione di Pax Web<\/h1>\n<p style=\"text-align: justify;\">Partendo dall'assunzione che abbiate un'istanza di\u00a0<a href=\"http:\/\/www.apache.org\/dyn\/closer.lua\/karaf\/4.0.8\/apache-karaf-4.0.8.tar.gz\" target=\"_blank\" rel=\"noopener noreferrer\">Apache Karaf 4.0.8<\/a>\u00a0installata e avviata, l'installazione di Pax Web avviene come\u00a0<em>feature Karaf<\/em>\u00a0eseguendo i seguenti comandi dalla console di Apache Karaf:<\/p>\n<pre class=\"lang:sh decode:true\" title=\"Console 1 - Installazione Pax Web via Apache Karaf Console\">karaf@root()&gt; feature:install http\r\nkaraf@root()&gt; feature:install http-whiteboard\r\nkaraf@root()&gt; feature:install war\r\n<\/pre>\n<p style=\"text-align: justify;\">I comandi mostrati\u00a0in precedenza eseguono l'installazione\u00a0dell'implementazione di\u00a0<em>OSGi HTTP Service<\/em>, dell'<em>HTTP Whiteboard<\/em> e del\u00a0<em>Web Container<\/em> per il supporto completo delle specifiche JSP\/Servlet.<\/p>\n<p>Per verificare la corretta installazione delle\u00a0<em>feature<\/em>, sempre dalla console di Apache Karaf eseguire i due comandi a seguire:<\/p>\n<pre class=\"lang:default decode:true\" title=\"Console 2 - Verifica corretta installazione Pax Web\">karaf@root()&gt; feature:list | grep http\r\nkaraf@root()&gt; feature:list | grep war\r\n<\/pre>\n<p style=\"text-align: justify;\">L'esecuzione di questi due comandi\u00a0producono l'output mostrato a seguire con evidenza dello stato dei bundle che in questo caso sono correttamente in\u00a0<em>Started<\/em>.<\/p>\n<pre class=\"lang:sh decode:true\" title=\"Console 3 - Output del comando feature:list\">pax-http-jetty                | 4.3.0            |          | Started     | org.ops4j.pax.web-4.3.0  |\r\npax-http                      | 4.3.0            |          | Started     | org.ops4j.pax.web-4.3.0  | Implementation of the OSGI HTTP Service\r\npax-http-whiteboard           | 4.3.0            |          | Started     | org.ops4j.pax.web-4.3.0  | Provide HTTP Whiteboard pattern support\r\nhttp                          | 4.0.8            | x        | Started     | standard-4.0.8           | Implementation of the OSGI HTTP Service\r\nhttp-whiteboard               | 4.0.8            | x        | Started     | standard-4.0.8           | Provide HTTP Whiteboard pattern support\r\npax-war                       | 4.3.0            |          | Started     | org.ops4j.pax.web-4.3.0  | Provide support of a full WebContainer\r\nwar                           | 4.0.8            | x        | Started     | standard-4.0.8           | Turn Karaf as a full WebContainer<\/pre>\n<p style=\"text-align: justify;\">L'installazione di Pax Web crea il file di configurazione\u00a0<strong><em>org.ops4j.pax.web.cfg<\/em><\/strong> (posizionato\u00a0in <em>${karaf.home}\/etc<\/em>) su cui torneremo successivamente per aggiungere i parametri di configurazione necessari per attivare il protocollo HTTPS.<\/p>\n<h1>2. Generazione del keystore JKS<\/h1>\n<p style=\"text-align: justify;\">Per il prossimo step dobbiamo generare il <strong><em>\"cassettino\"<\/em><\/strong> dove andr\u00e0 riposta\u00a0la nostra coppia di chiavi o <em>key pair<\/em>\u00a0(privata e pubblica), coppia che sar\u00e0 poi utilizzata per instaurare le connessioni sicure via SSL\/TLS. Tutto ci\u00f2 che server per generare la coppia di chiavi \u00e8 il <em><a href=\"http:\/\/docs.oracle.com\/javase\/8\/docs\/technotes\/tools\/unix\/keytool.html\" target=\"_blank\" rel=\"noopener noreferrer\">keytool<\/a><\/em>.<\/p>\n<p style=\"text-align: justify;\">A seguire tutti i comandi necessari per produrre il keystore in formato JKS (Java KeyStore) che posizioneremo all'interno della directory <code>${karaf.home}\/etc\/keystore<\/code> dove ${karaf.home} \u00e8 la root directory d'installazione di Apache Karaf.<\/p>\n<pre class=\"lang:sh decode:true \" title=\"Console 4 - Generazione coppia di chiavi via keytool\">$ cd ${karaf.home}\r\n$ cd etc\r\n$ mkdir keystore\r\n$ cd keystore\r\n$ keytool -genkeypair -keyalg RSA -validity 2048 \\\r\n -alias dontesta-karaf \\\r\n -dname \"cn=karaf.dontesta.it, ou=R&amp;D Labs, o=Antonio Musarra's Blog, C=IT, L=Rome, S=Italy\" \\\r\n -keypass changeit -storepass changeit \\\r\n -keystore dontesta-karaf-server.jks \\\r\n -ext SAN=DNS:www.dontesta.it,DNS:services.dontesta.it<\/pre>\n<p style=\"text-align: justify;\">L'esecuzione del keytool genera il file\u00a0<em>dontesta-karaf-server.jks<\/em> contenente la coppia di chiavi e che possiamo verificare attraverso l'esecuzione del comando a seguire:<\/p>\n<pre class=\"lang:sh decode:true\" title=\"Console 5 - Verifica della coppia di chiavi\">$ keytool --list --keystore dontesta-karaf-server.jks -storepass changeit -rfc<\/pre>\n<p>Il risultato del comando precedente \u00e8 mostrato subito sotto:<\/p>\n<pre class=\"lang:sh decode:true\" title=\"Console 6 - Output del keytool per la verifica della coppia di chiavi\">Tipo keystore: JKS\r\nProvider keystore: SUN\r\n\r\nIl keystore contiene 1 voce\r\n\r\nNome alias: dontesta-karaf\r\nData di creazione: 28-feb-2017\r\nTipo di voce: PrivateKeyEntry\r\nLunghezza catena certificati: 1\r\nCertificato[1]:\r\n-----BEGIN CERTIFICATE-----\r\nMIIDyTCCArGgAwIBAgIEU9S\/EDANBgkqhkiG9w0BAQsFADB8MQ4wDAYDVQQIEwVJdGFseTENMAsG\r\nA1UEBxMEUm9tZTELMAkGA1UEBhMCSVQxHzAdBgNVBAoTFkFudG9uaW8gTXVzYXJyYSdzIEJsb2cx\r\nETAPBgNVBAsMCFImRCBMYWJzMRowGAYDVQQDExFrYXJhZi5kb250ZXN0YS5pdDAeFw0xNzAyMjgy\r\nMjE4MTlaFw0yMjEwMDgyMjE4MTlaMHwxDjAMBgNVBAgTBUl0YWx5MQ0wCwYDVQQHEwRSb21lMQsw\r\nCQYDVQQGEwJJVDEfMB0GA1UEChMWQW50b25pbyBNdXNhcnJhJ3MgQmxvZzERMA8GA1UECwwIUiZE\r\nIExhYnMxGjAYBgNVBAMTEWthcmFmLmRvbnRlc3RhLml0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A\r\nMIIBCgKCAQEAsPuxJftWgDzQ9JhhWN6bjybKjCz04L5OC5dNKrF9FBMl\/2Xw07aC0g3uB6dILCqf\r\nL8+i8aUZnSl147i3eyUq6Zsk0UquNK3Q+7\/pi1WZHfIpSuZsL5x+jLI3sInREGTw63Jf4+6pa2LH\r\nhoJ20\/G90dvyJIjBLT\/DpnTQiHdKhaEZxpNB2dclSmrwkKiiA7+AEyzhKmkJ5zDJWIAbpIyfAk5n\r\nuD\/s\/rzh7PQj0ElHSAraUp94qA\/XuqobtONLp7pPOMZoX6hbBLd40eWvPN6dMmTc+Dd5qSC7gzhu\r\nRPzmg+dhmxwRkTtup1A3IaXg+hXU0gNfUtl0NNNKobSiJVx8ewIDAQABo1MwUTAwBgNVHREEKTAn\r\ngg93d3cuZG9udGVzdGEuaXSCFHNlcnZpY2VzLmRvbnRlc3RhLml0MB0GA1UdDgQWBBQK1gn2lg8U\r\nEOv1roC7mpRj7V5rjjANBgkqhkiG9w0BAQsFAAOCAQEAICgixak\/wuV5\/4HbeqQtOddVxmXzvGRP\r\noMvdTfmrw+pquHg9p4ThAcbYa\/7depJRzBJukbCIb2VJ2CMbhFaIKytwHpVq6+FmeseLtNJGEb8W\r\nGz8\/yLi7W36CrCXTlw6PBrm3x0K4sg\/7egDcj72+hKhImmgdjrTAOabkYcktQJvlKgHSWdmH8ZrW\r\npLirNLwlXwsbHqlx4SDWVJ8xov1Cq3\/jH6u4VQtjicGfkZFMgMH0pUSg66oY2ED7T5+tkkHX94TI\r\naxosd560C9wa+9LNh0XIfu9BqeI5QCuN66m4KaQ2cRcWZEM\/Rvd01ameMLgx5JzLrXPRqgekPzkP\r\nGoISPA==\r\n-----END CERTIFICATE-----<\/pre>\n<p>Se volessimo ottenere maggiori informazioni circa\u00a0il certificato pubblico, \u00e8 possibile farlo, sfruttando sempre il keytool, in questo modo:<\/p>\n<pre class=\"lang:sh decode:true\" title=\"Console 7 - Print del certificato pubblico via keytool\">$ keytool --printcert --file dontesta-karaf-server.pub.pem<\/pre>\n<p>il file <a href=\"https:\/\/gist.githubusercontent.com\/amusarra\/b94ec161e46a768f9062bd11bffad6bc\/raw\/d7f72f6353aaddb13568eb55ef5083dc791889c7\/dontesta-karaf-server.pub.pem\" target=\"_blank\" rel=\"noopener noreferrer\"><em>dontesta-karaf-server.pub.pem<\/em><\/a>\u00a0contiene\u00a0il certificato pubblico x509 in formato PEM (<b>Privacy Enhanced Mail<\/b>) estratto dal comando <code>keytool --list<\/code>\u00a0.A seguire l'output del comando precedente:<\/p>\n<pre class=\"lang:sh decode:true\" title=\"Console 8 - Output del comando di verifica del certificato pubblico via keytool\">Proprietario: CN=karaf.dontesta.it, OU=R&amp;D Labs, O=Antonio Musarra's Blog, C=IT, L=Rome, ST=Italy\r\nAutorit\u00e0 emittente: CN=karaf.dontesta.it, OU=R&amp;D Labs, O=Antonio Musarra's Blog, C=IT, L=Rome, ST=Italy\r\nNumero di serie: 53d4bf10\r\nValido da: Tue Feb 28 23:18:19 CET 2017 a: Sun Oct 09 00:18:19 CEST 2022\r\nImpronte digitali certificato:\r\n\t MD5:  C6:D6:0B:82:1B:38:4C:30:2A:72:2C:58:F5:92:5F:33\r\n\t SHA1: B6:02:29:B8:7C:F5:5F:D6:5D:B6:E9:D2:54:DC:49:32:57:CD:3A:23\r\n\t SHA256: 29:9A:50:B5:92:26:20:9D:7D:87:D7:16:A7:4D:E0:47:FC:08:B3:59:91:81:75:7F:C9:DF:A7:56:7F:83:3F:80\r\n\t Nome algoritmo firma: SHA256withRSA\r\n\t Versione: 3\r\n\r\nEstensioni:\r\n\r\n#1: ObjectId: 2.5.29.17 Criticality=false\r\nSubjectAlternativeName [\r\n  DNSName: www.dontesta.it\r\n  DNSName: services.dontesta.it\r\n]\r\n\r\n#2: ObjectId: 2.5.29.14 Criticality=false\r\nSubjectKeyIdentifier [\r\nKeyIdentifier [\r\n0000: 0A D6 09 F6 96 0F 14 10   EB F5 AE 80 BB 9A 94 63  ...............c\r\n0010: ED 5E 6B 8E                                        .^k.\r\n]\r\n]<\/pre>\n<p style=\"text-align: justify;\">L'utilizzo del keytool per alcuni potrebbe risultare ostico, esistono per i pi\u00f9 pigri dei tool come per esempio <a href=\"http:\/\/keystore-explorer.org\" target=\"_blank\" rel=\"noopener noreferrer\">KeyStore Explore<\/a>\u00a0che facilitano di gran lunga le operazioni di gestione (come per esempio l'importazione di certificati, l'esportazione in formati vari, etc.) dei JKS.<\/p>\n<p style=\"text-align: justify;\">Nel nostro caso abbiamo generato un certificato\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Self-signed_certificate\" target=\"_blank\" rel=\"noopener noreferrer\"><em>self-signed<\/em><\/a>\u00a0ma nei casi reali la situazione \u00e8 diversa, ovvero, sar\u00e0 in genere una <strong><a href=\"https:\/\/it.wikipedia.org\/wiki\/Infrastruttura_a_chiave_pubblica\" target=\"_blank\" rel=\"noopener noreferrer\">PKI<\/a>\u00a0<\/strong>a distribuire i certificati digitali in uno dei formati standard. Il certificato digitale ricevuto potr\u00e0 poi essere importato sul proprio JKS per esempio.<\/p>\n<p>A questo punto abbiamo ci\u00f2 che serve per abilitare il protocollo HTTPS su Pax Web.<\/p>\n<h1>3. Abilitazione del protocollo\u00a0HTTPS<\/h1>\n<p style=\"text-align: justify;\">L'abilitazione del protocollo HTTPS per Pax Web avviene attraverso la configurazione di una serie di properties che andranno inserite all'interno del file di configurazione\u00a0<em><strong>org.ops4j.pax.web.cfg<\/strong><\/em> (situato in ${karaf.home}\/etc). Le properties da configurare sono:<\/p>\n<ul>\n<li>org.osgi.service.http.secure.enabled=true<\/li>\n<li>org.ops4j.pax.web.ssl.keystore=${karaf.etc}\/keystore\/dontesta-karaf-server.jks<\/li>\n<li>org.ops4j.pax.web.ssl.password=changeit<\/li>\n<li>org.ops4j.pax.web.ssl.keypassword=changeit<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Quelli indicati sopra sono i parametri minimi richiesti per configurare correttamente il supporto HTTPS, esisto altri parametri di configurazione ampiamente documentati su Pax Web nella sezione <a href=\"http:\/\/ops4j.github.io\/pax\/web\/SNAPSHOT\/Configuration.html#ssl-configuration\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"broken_link\">Configuration SSL<\/a>.<\/p>\n<p>Il file di configurazione completo per l'attivazione del protocollo HTTPS \u00e8 mostrato a seguire:<\/p>\n<pre class=\"lang:ini decode:true\" title=\"Listato 1 - File di configurazione org.ops4j.pax.web.cfg\">javax.servlet.context.tempdir = \/Users\/amusarra\/Progetti\/Karaf\/runtime\/apache-karaf-4.0.8\/data\/pax-web-jsp\r\norg.ops4j.pax.web.config.file = \/Users\/amusarra\/Progetti\/Karaf\/runtime\/apache-karaf-4.0.8\/etc\/jetty.xml\r\norg.osgi.service.http.port = 8181\r\n\r\norg.osgi.service.http.secure.enabled=true\r\norg.ops4j.pax.web.ssl.keystore=${karaf.etc}\/keystore\/dontesta-karaf-server.jks\r\norg.ops4j.pax.web.ssl.password=changeit\r\norg.ops4j.pax.web.ssl.keypassword=changeit<\/pre>\n<p>Al momento del salvataggio del file di configurazione la modifica \u00e8 applicata immediatamente.<\/p>\n<pre class=\"lang:sh mark:3 decode:true\" title=\"Console 9 - Evidenza attivazione HTTPS per Pax Web\">2017-03-01 00:04:15,656 | INFO  | onfig-1-thread-1 | JettyServerImpl                  | 87 - org.ops4j.pax.web.pax-web-jetty - 4.3.0 | Pax Web available at [0.0.0.0]:[8181]\r\n2017-03-01 00:04:15,723 | INFO  | onfig-1-thread-1 | JettyFactoryImpl                 | 87 - org.ops4j.pax.web.pax-web-jetty - 4.3.0 | SPDY not available, creating standard ServerConnector for Https\r\n2017-03-01 00:04:15,724 | INFO  | onfig-1-thread-1 | JettyServerImpl                  | 87 - org.ops4j.pax.web.pax-web-jetty - 4.3.0 | Pax Web available at [0.0.0.0]:[8443]<\/pre>\n<p style=\"text-align: justify;\">Dai log risulta che la configurazione \u00e8 stata applicata correttamente e Pax Web \u00e8 nelle condizioni di fornire risorse tramite il protocollo HTTPS ma non \u00e8 ancora attivo, infatti, nessun servizio HTTPS \u00e8 in listen sulla porta 8443 (porta di default). Al deploy della prima applicazione web, il servizio HTTPS sar\u00e0 effettivamente listen sulla porta 8443.<\/p>\n<h1>4. Test tramite Web Application<\/h1>\n<p style=\"text-align: justify;\">Al fine di fare un test, possiamo installare sulla nostra istanza di Apache Karaf la\u00a0<em>Web Console<\/em> tramite il comando\u00a0<code>feature:install webconsole<\/code> che una volta terminato attiva la web console e con essa anche il protocollo HTTPS, cos\u00ec come mostrato sul file di\u00a0log.<\/p>\n<pre class=\"lang:sh mark:2 decode:true\" title=\"Console 10 - Attivazione del protocollo HTTPS\">2017-03-01 01:09:29,591 | INFO  | onfig-1-thread-1 | JettyServerImpl                  | 87 - org.ops4j.pax.web.pax-web-jetty - 4.3.0 | Pax Web available at [0.0.0.0]:[8443]\r\n2017-03-01 01:09:31,047 | INFO  | FelixStartLevel  | ServerConnector                  | 75 - org.eclipse.jetty.util - 9.2.19.v20160908 | Started secureDefault@6a784c06{SSL-http\/1.1}{0.0.0.0:8443}<\/pre>\n<p>A questo punto puntiamo il nostro\u00a0browser all'indirizzo https:\/\/localhost:8443 e se tutto \u00e8 andato per il verso giusto dovremmo vedere instaurata la connessione HTTPS e riuscire a vedere anche il certificato (cos\u00ec come mostrato in Figura 1).<\/p>\n<div id=\"attachment_3691\" style=\"width: 610px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2017\/03\/PaxWebKarafCertificate.png\"><img aria-describedby=\"caption-attachment-3691\" decoding=\"async\" loading=\"lazy\" class=\"wp-image-3691\" title=\"Figura 1 - Visualizzazione del certificato SSL al momento della connessione a Apache Karaf Web Console\" src=\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2017\/03\/PaxWebKarafCertificate-300x287.png\" alt=\"Visualizzazione del certificato SSL al momento della connessione a Apache Karaf Web Console\" width=\"600\" height=\"575\" srcset=\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2017\/03\/PaxWebKarafCertificate-300x287.png 300w, https:\/\/www.dontesta.it\/wp-content\/uploads\/2017\/03\/PaxWebKarafCertificate-768x735.png 768w, https:\/\/www.dontesta.it\/wp-content\/uploads\/2017\/03\/PaxWebKarafCertificate.png 826w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><p id=\"caption-attachment-3691\" class=\"wp-caption-text\">Figura 1 - Visualizzazione del certificato SSL al momento della connessione<\/p><\/div>\n<h1>Si pu\u00f2 fare altro?<\/h1>\n<p style=\"text-align: justify;\"><strong>Certamente \ud83d\ude42<\/strong>\u00a0Una tipica connessione TLS\/SSL (per esempio via browser internet) prevede un tipo di autenticazione denominata\u00a0<em>unilaterale\u00a0:\u00a0<\/em>solo il server \u00e8 autenticato (il client conosce l\u2019identit\u00e0 del server), ma non vice-versa (il client rimane anonimo e non autenticato). Il client (browser web, EmailUI, Java Client, etc\u2026) valida il certificato del server controllando la firma digitale dei certificati del server, verificando che questa sia valida e riconosciuta da una\u00a0<em>Certificate Authority\u00a0<\/em>conosciuta utilizzando una cifratura a chiave pubblica. <span style=\"text-decoration: underline;\">Questo \u00e8 il caso che abbiamo mostrato nel corso di quest'articolo<\/span>.<\/p>\n<p style=\"text-align: justify;\">Il prossimo passo quale potrebbe essere? Come configurare e realizzare una connessione in HTTPS tra un browser e il nostro\u00a0server Apache Karaf, <strong>con mutua autenticazione<\/strong>, e quindi anche con l\u2019autenticazione del client presso il server, attraverso l\u2019utilizzo di un certificato X509 appositamente generato.<\/p>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Sorry, this entry is only available in Italiano. [dropcap]Q[\/dropcap]uante volte ci\u00a0siamo trovati nella condizione di\u00a0combattere con la configurazione del protocollo HTTPS? Sicuramente una miriade di volte e mai andata a buon fine a primo&#46;&#46;&#46;<\/p>\n","protected":false},"author":3,"featured_media":3695,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"image","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[490,578],"tags":[632,631,205,386],"class_list":["post-3672","post","type-post","status-publish","format-image","has-post-thumbnail","hentry","category-blog-2","category-ssltls","tag-apache-karaf","tag-https","tag-jks","tag-tlsssl","post_format-post-format-image"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>(Italiano) Come abilitare HTTPS su Apache Karaf Pax Web<\/title>\n<meta name=\"description\" content=\"Avete la necessit\u00e0 di aggiungere il supporto HTTPS (SSL) alla vostra istanza di Apache Karaf e in particolare su Pax Web? Bene continua a leggere.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"(Italiano) Come abilitare HTTPS su Apache Karaf Pax Web\" \/>\n<meta property=\"og:description\" content=\"Avete la necessit\u00e0 di aggiungere il supporto HTTPS (SSL) alla vostra istanza di Apache Karaf e in particolare su Pax Web? Bene continua a leggere.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/\" \/>\n<meta property=\"og:site_name\" content=\"Antonio Musarra&#039;s Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/antoniomusarrablog\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/antoniomusarrablog\" \/>\n<meta property=\"article:published_time\" content=\"2017-03-02T07:38:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-03-13T11:33:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2017\/03\/ComeAbilitareHttpsApacheKarafPaxWeb_FeatureImage.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"722\" \/>\n\t<meta property=\"og:image:height\" content=\"342\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Antonio Musarra\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@antonio_musarra\" \/>\n<meta name=\"twitter:site\" content=\"@antonio_musarra\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Antonio Musarra\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/\"},\"author\":{\"name\":\"Antonio Musarra\",\"@id\":\"https:\/\/www.dontesta.it\/#\/schema\/person\/0c69ed36230e1477875d6171b48b9b24\"},\"headline\":\"(Italiano) Come abilitare HTTPS su Apache Karaf Pax Web\",\"datePublished\":\"2017-03-02T07:38:54+00:00\",\"dateModified\":\"2022-03-13T11:33:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/\"},\"wordCount\":1010,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.dontesta.it\/#\/schema\/person\/0c69ed36230e1477875d6171b48b9b24\"},\"image\":{\"@id\":\"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2017\/03\/ComeAbilitareHttpsApacheKarafPaxWeb_FeatureImage.jpg\",\"keywords\":[\"Apache Karaf\",\"HTTPS\",\"JKS\",\"TLS\/SSL\"],\"articleSection\":[\"Blog\",\"SSL\/TLS\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/\",\"url\":\"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/\",\"name\":\"(Italiano) Come abilitare HTTPS su Apache Karaf Pax Web\",\"isPartOf\":{\"@id\":\"https:\/\/www.dontesta.it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2017\/03\/ComeAbilitareHttpsApacheKarafPaxWeb_FeatureImage.jpg\",\"datePublished\":\"2017-03-02T07:38:54+00:00\",\"dateModified\":\"2022-03-13T11:33:35+00:00\",\"description\":\"Avete la necessit\u00e0 di aggiungere il supporto HTTPS (SSL) alla vostra istanza di Apache Karaf e in particolare su Pax Web? Bene continua a leggere.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/#primaryimage\",\"url\":\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2017\/03\/ComeAbilitareHttpsApacheKarafPaxWeb_FeatureImage.jpg\",\"contentUrl\":\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2017\/03\/ComeAbilitareHttpsApacheKarafPaxWeb_FeatureImage.jpg\",\"width\":722,\"height\":342,\"caption\":\"Come abilitare HTTPS su Apache Karaf Pax Web\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.dontesta.it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Come abilitare HTTPS su Apache Karaf Pax Web\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dontesta.it\/#website\",\"url\":\"https:\/\/www.dontesta.it\/\",\"name\":\"Antonio Musarra&#039;s Blog\",\"description\":\"The ideal solution for a problem\",\"publisher\":{\"@id\":\"https:\/\/www.dontesta.it\/#\/schema\/person\/0c69ed36230e1477875d6171b48b9b24\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dontesta.it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.dontesta.it\/#\/schema\/person\/0c69ed36230e1477875d6171b48b9b24\",\"name\":\"Antonio Musarra\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dontesta.it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2024\/06\/cropped-foto_profilo.png\",\"contentUrl\":\"https:\/\/www.dontesta.it\/wp-content\/uploads\/2024\/06\/cropped-foto_profilo.png\",\"width\":512,\"height\":512,\"caption\":\"Antonio Musarra\"},\"logo\":{\"@id\":\"https:\/\/www.dontesta.it\/#\/schema\/person\/image\/\"},\"description\":\"I began my journey into the world of computing from an Olivetti M24 PC (http:\/\/it.wikipedia.org\/wiki\/Olivetti_M24) bought by my father for his work. Day after day, quickly taking control until \u2026 Now doing business consulting for projects in the enterprise application development using web-oriented technologies such as J2EE, Web Services, ESB, TIBCO, PHP.\",\"sameAs\":[\"https:\/\/www.dontesta.it\",\"https:\/\/www.facebook.com\/antoniomusarrablog\",\"https:\/\/www.linkedin.com\/in\/amusarra\/\",\"https:\/\/x.com\/antonio_musarra\",\"https:\/\/www.youtube.com\/channel\/UC5D3_EtVPbZYUhrUcEK_THA\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"(Italiano) Come abilitare HTTPS su Apache Karaf Pax Web","description":"Avete la necessit\u00e0 di aggiungere il supporto HTTPS (SSL) alla vostra istanza di Apache Karaf e in particolare su Pax Web? Bene continua a leggere.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/","og_locale":"en_US","og_type":"article","og_title":"(Italiano) Come abilitare HTTPS su Apache Karaf Pax Web","og_description":"Avete la necessit\u00e0 di aggiungere il supporto HTTPS (SSL) alla vostra istanza di Apache Karaf e in particolare su Pax Web? Bene continua a leggere.","og_url":"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/","og_site_name":"Antonio Musarra&#039;s Blog","article_publisher":"https:\/\/www.facebook.com\/antoniomusarrablog","article_author":"https:\/\/www.facebook.com\/antoniomusarrablog","article_published_time":"2017-03-02T07:38:54+00:00","article_modified_time":"2022-03-13T11:33:35+00:00","og_image":[{"width":722,"height":342,"url":"https:\/\/www.dontesta.it\/wp-content\/uploads\/2017\/03\/ComeAbilitareHttpsApacheKarafPaxWeb_FeatureImage.jpg","type":"image\/jpeg"}],"author":"Antonio Musarra","twitter_card":"summary_large_image","twitter_creator":"@antonio_musarra","twitter_site":"@antonio_musarra","twitter_misc":{"Written by":"Antonio Musarra","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/#article","isPartOf":{"@id":"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/"},"author":{"name":"Antonio Musarra","@id":"https:\/\/www.dontesta.it\/#\/schema\/person\/0c69ed36230e1477875d6171b48b9b24"},"headline":"(Italiano) Come abilitare HTTPS su Apache Karaf Pax Web","datePublished":"2017-03-02T07:38:54+00:00","dateModified":"2022-03-13T11:33:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/"},"wordCount":1010,"commentCount":0,"publisher":{"@id":"https:\/\/www.dontesta.it\/#\/schema\/person\/0c69ed36230e1477875d6171b48b9b24"},"image":{"@id":"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dontesta.it\/wp-content\/uploads\/2017\/03\/ComeAbilitareHttpsApacheKarafPaxWeb_FeatureImage.jpg","keywords":["Apache Karaf","HTTPS","JKS","TLS\/SSL"],"articleSection":["Blog","SSL\/TLS"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/","url":"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/","name":"(Italiano) Come abilitare HTTPS su Apache Karaf Pax Web","isPartOf":{"@id":"https:\/\/www.dontesta.it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/#primaryimage"},"image":{"@id":"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dontesta.it\/wp-content\/uploads\/2017\/03\/ComeAbilitareHttpsApacheKarafPaxWeb_FeatureImage.jpg","datePublished":"2017-03-02T07:38:54+00:00","dateModified":"2022-03-13T11:33:35+00:00","description":"Avete la necessit\u00e0 di aggiungere il supporto HTTPS (SSL) alla vostra istanza di Apache Karaf e in particolare su Pax Web? Bene continua a leggere.","breadcrumb":{"@id":"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/#primaryimage","url":"https:\/\/www.dontesta.it\/wp-content\/uploads\/2017\/03\/ComeAbilitareHttpsApacheKarafPaxWeb_FeatureImage.jpg","contentUrl":"https:\/\/www.dontesta.it\/wp-content\/uploads\/2017\/03\/ComeAbilitareHttpsApacheKarafPaxWeb_FeatureImage.jpg","width":722,"height":342,"caption":"Come abilitare HTTPS su Apache Karaf Pax Web"},{"@type":"BreadcrumbList","@id":"https:\/\/www.dontesta.it\/2017\/03\/02\/come-abilitare-https-apache-karaf-pax-web\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.dontesta.it\/"},{"@type":"ListItem","position":2,"name":"Come abilitare HTTPS su Apache Karaf Pax Web"}]},{"@type":"WebSite","@id":"https:\/\/www.dontesta.it\/#website","url":"https:\/\/www.dontesta.it\/","name":"Antonio Musarra&#039;s Blog","description":"The ideal solution for a problem","publisher":{"@id":"https:\/\/www.dontesta.it\/#\/schema\/person\/0c69ed36230e1477875d6171b48b9b24"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dontesta.it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.dontesta.it\/#\/schema\/person\/0c69ed36230e1477875d6171b48b9b24","name":"Antonio Musarra","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dontesta.it\/#\/schema\/person\/image\/","url":"https:\/\/www.dontesta.it\/wp-content\/uploads\/2024\/06\/cropped-foto_profilo.png","contentUrl":"https:\/\/www.dontesta.it\/wp-content\/uploads\/2024\/06\/cropped-foto_profilo.png","width":512,"height":512,"caption":"Antonio Musarra"},"logo":{"@id":"https:\/\/www.dontesta.it\/#\/schema\/person\/image\/"},"description":"I began my journey into the world of computing from an Olivetti M24 PC (http:\/\/it.wikipedia.org\/wiki\/Olivetti_M24) bought by my father for his work. Day after day, quickly taking control until \u2026 Now doing business consulting for projects in the enterprise application development using web-oriented technologies such as J2EE, Web Services, ESB, TIBCO, PHP.","sameAs":["https:\/\/www.dontesta.it","https:\/\/www.facebook.com\/antoniomusarrablog","https:\/\/www.linkedin.com\/in\/amusarra\/","https:\/\/x.com\/antonio_musarra","https:\/\/www.youtube.com\/channel\/UC5D3_EtVPbZYUhrUcEK_THA\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.dontesta.it\/en\/wp-json\/wp\/v2\/posts\/3672","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dontesta.it\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dontesta.it\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dontesta.it\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dontesta.it\/en\/wp-json\/wp\/v2\/comments?post=3672"}],"version-history":[{"count":0,"href":"https:\/\/www.dontesta.it\/en\/wp-json\/wp\/v2\/posts\/3672\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dontesta.it\/en\/wp-json\/wp\/v2\/media\/3695"}],"wp:attachment":[{"href":"https:\/\/www.dontesta.it\/en\/wp-json\/wp\/v2\/media?parent=3672"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dontesta.it\/en\/wp-json\/wp\/v2\/categories?post=3672"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dontesta.it\/en\/wp-json\/wp\/v2\/tags?post=3672"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}