java - 如何将 https/ssl 与 Maven/Mortbay Jetty 插件一起使用?

标签 java maven-2 ssl https 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 以创建开发证书:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>keytool-maven-plugin</artifactId>
  <executions>
    <execution>
      <phase>generate-resources</phase>
      <id>clean</id>
      <goals>
        <goal>clean</goal>
      </goals>
    </execution>
    <execution>
      <phase>generate-resources</phase>
      <id>genkey</id>
      <goals>
        <goal>genkey</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <keystore>${project.build.directory}/jetty-ssl.keystore</keystore>
    <dname>cn=my.hostname.tld</dname><!-- put your CN here-->
    <keypass>jetty6</keypass>
    <storepass>jetty6</storepass>
    <alias>jetty6</alias>
    <keyalg>RSA</keyalg>
  </configuration>
</plugin>

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

<plugin>
  <groupId>org.mortbay.jetty</groupId>
  <artifactId>maven-jetty-plugin</artifactId>
  <version>6.1.10</version>
  <configuration>
    <contextPath>/context</contextPath>
    <scanIntervalSeconds>5</scanIntervalSeconds>
    <connectors>
      <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
        <port>8080</port>
        <maxIdleTime>60000</maxIdleTime>
      </connector>
      <connector implementation="org.mortbay.jetty.security.SslSocketConnector">
        <port>8443</port>
        <maxIdleTime>60000</maxIdleTime>
        <keystore>${project.build.directory}/jetty-ssl.keystore</keystore>
        <password>jetty6</password>
        <keyPassword>jetty6</keyPassword>
      </connector>
    </connectors>
  </configuration>
</plugin>

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

关于java - 如何将 https/ssl 与 Maven/Mortbay Jetty 插件一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3794892/

相关文章:

java - 使用 ANT 运行我的应用程序时,找不到 XPath 实现

java - 消除 Maven POM 冗余

sockets - 在执行 SSL_read 或 SSL_write 操作之前使用 SSL_want?

ssl - strong-soap:通过 https 调用服务方法

java - 如何将此数组分解为类似字母类型的子数组(在连续位置)

java - 决定在 Java 中使用 com.auth0 或 io.jsonwebtoken 作为 JWT

java - 支持不同后端的数据库客户端设计

Java:如何构建基于 Maven 的项目的独立发行版?

maven-2 - Maven : Could not transfer artifact Error code 401, 需要授权

java - 使用 ajax 调用将用户重定向到不同页面的 .php 文件的问题