如何使用https / ssl与Maven / Mortbay Jetty插件?

我想使用ssl / https,如中所述

http://docs.codehaus.org/display/JETTY/How+to+configure+SSL

使用jetty-maven-plugin,但我不知道如何配置插件。 任何提示,示例,教程,演练?

另外,我想知道如何执行上述教程的步骤3b,其中需要对jetty服务器进行操作( java -classpath $JETTY_HOME/lib/jetty-util-6.1-SNAPSHOT.jar:$JETTY_HOME/lib/jetty-6.1-SNAPSHOT.jar org.mortbay.jetty.security.PKCS12Import jetty.pkcs12 keystore )。

您可以使用Maven创建开发证书,并在启动Jetty时使用它。 首先,配置keytool-maven-plugin以创建开发证书:

  org.codehaus.mojo keytool-maven-plugin   generate-resources clean  clean    generate-resources genkey  genkey     ${project.build.directory}/jetty-ssl.keystore cn=my.hostname.tld jetty6 jetty6 jetty6 RSA   

根据需要更改CN。 然后配置maven-jetty-plugin以使用开发证书:

  org.mortbay.jetty maven-jetty-plugin 6.1.10  /context 5   8080 60000   8443 60000 ${project.build.directory}/jetty-ssl.keystore jetty6 jetty6     

运行mvn jetty:run并打开https:// localhost:8443 / context 。

如果您使用Pascal的解决方案得到此错误: –

 Could not find goal 'genkey' in plugin org.codehaus.mojo:keytool-maven-plugin:1.3 
  1. 使用’generateKeyPair’作为目标。 (我相信genKey已经弃用了。)
  2. 添加插件版本。

插件定义应如下所示: –

   org.codehaus.mojo keytool-maven-plugin 1.3   generate-resources clean  clean    generate-resources genkey  generateKeyPair     ${project.build.directory}/jetty-ssl.keystore cn=my.hostname.tld jetty6 jetty6 jetty6 RSA   

如果您想使用Jetty 9进行操作,请注意, 由于jetty-9.0不再可以直接在pom.xml中配置https连接器:您需要使用jetty xml配置文件来执行此操作。 [1] 。

这是一个例子:

的pom.xml

  9.1.2.v20140210  ...  org.eclipse.jetty jetty-server ${jetty-version}  ...  org.codehaus.mojo keytool-maven-plugin 1.3   generate-resources clean  clean    generate-resources genkey  generateKeyPair     ${project.build.directory}/jetty-ssl.keystore cn=127.0.0.1 dypBdX1NB3gXA0DXCy9nfyJ4jqUDlaydgbo9OU12g dypBdX1NB3gXA0DXCy9nfyJ4jqUDlaydgbo9OU12g jetty RSA    org.eclipse.jetty jetty-maven-plugin ${jetty-version}  src/main/resources/jetty.xml,src/main/resources/jetty-ssl.xml,src/main/resources/jetty-https.xml   

docker,https.xml

            http/1.1             30000     

docker,ssl.xml

         /   /     SSL_RSA_WITH_DES_CBC_SHA SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA                

的jetty.xml

     https