2015-06-18 1 views
3

Мне нужно выполнить аутентификацию клиента с помощью сертификата на причальном сервере.аутентификация клиентского сертификата на пристани (karaf)

Я сделал это на сервере Tomcat с помощью:

<Connector 
      protocol="org.apache.coyote.http11.Http11Protocol" 
      port="8443" maxThreads="200" 
      minSpareThreads="5" 
      enableLookups="true" disableUploadTimeout="true" 
      acceptCount="100" 
      scheme="https" secure="true" SSLEnabled="true" 
      keystoreFile="D:\certificates\certs\server.jks" keystoreType="JKS" keystorePass="password" 
      truststoreFile="D:\certificates\certs\trust_store.jks" truststoreType="JKS" truststorePass="password" 
      clientAuth="true" 
      sslProtocol="TLS"/> 

Но я хочу сделать это на karaf, так я узнал, что я мог бы сделать это, добавив следующие на jetty.xml:

<Call name="addConnector"> 
<Arg> 
    <New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector"> 
    <Arg> 
     <New class="org.eclipse.jetty.http.ssl.SslContextFactory"> 
     <Set name="KeyStore">./etc/keystores/server.jks</Set> 
     <Set name="KeyStorePassword">password</Set> 
     <Set name="KeyManagerPassword">password</Set> 
     <Set name="TrustStore">./etc/keystores/trust_store.jks</Set> 
     <Set name="TrustStorePassword">password</Set> 
     </New> 
    </Arg> 
    <Set name="port">8443</Set> 
    <Set name="maxIdleTime">30000</Set> 
    </New> 
</Arg> 

и вслед org.ops4j.pax.web.xml:

org.osgi.service.http.port=8181 
org.osgi.service.http.port.secure=8443 
org.osgi.service.http.secure.enabled=true 
org.ops4j.pax.web.ssl.keystore=./etc/keystores/keystore.jks 
org.ops4j.pax.web.ssl.password=password 
org.ops4j.pax.web.ssl.keypassword=password 
#org.ops4j.pax.web.ssl.clientauthwanted=false 
org.ops4j.pax.web.ssl.clientauthneeded=true 

Но он не работает на karaf, он не запрашивает сертификат клиента. Он работает только с https, используя только аутентификацию server-cert.

Что мне не хватает? были необходимы

ответ

2

2 изменения:

  1. переименованный файл org.ops4j.pax.web.xml в org.ops4j.pax.web.cfg
  2. Добавлено org.ops4j.pax.web.config.file=./etc/jetty.xml в org.ops4j.pax.web. cfg