gpt4 book ai didi

ssl - 在 jetty ssl 文件中配置生成的 keystore

转载 作者:太空宇宙 更新时间:2023-11-03 14:00:07 24 4
gpt4 key购买 nike

我必须在 Jetty 中启用 SSL。我已经使用 Keytool 生成了 keystore 文件。我已将此 key 工具文件包含在 JETTY_BASE\etc\myKeystore 中。我在 JETTY_BASE\etc

中包含了 jetty-https.xmljetty-ssl.xml

jetty -https.xml:

<?xml version="1.0"?>
<Configure id="Server" class="org.eclipse.jetty.server.Server">
<Call id="httpsConnector" name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.ServerConnector">
<Arg name="server"><Ref refid="Server" /></Arg>
<Arg name="acceptors" type="int"><Property name="ssl.acceptors" default="-1"/></Arg>
<Arg name="selectors" type="int"><Property name="ssl.selectors" default="-1"/></Arg>
<Arg name="factories">
<Array type="org.eclipse.jetty.server.ConnectionFactory">
<Item>
<New class="org.eclipse.jetty.server.SslConnectionFactory">
<Arg name="next">http/1.1</Arg>
<Arg name="sslContextFactory"><Ref refid="sslContextFactory"/></Arg>
</New>
</Item>
<Item>
<New class="org.eclipse.jetty.server.HttpConnectionFactory">
<Arg name="config"><Ref refid="sslHttpConfig"/></Arg>
</New>
</Item>
</Array>
</Arg>
<Set name="host"><Property name="jetty.host" /></Set>
<Set name="port"><Property name="https.port" default="443" /></Set>
<Set name="idleTimeout"><Property name="https.timeout" default="30000"/></Set>
<Set name="soLingerTime"><Property name="jetty.https.soLingerTime" default="-1"/></Set>
<Set name="acceptorPriorityDelta"><Property name="jetty.https.acceptorPriorityDelta" default="0"/></Set>
<Set name="acceptQueueSize"><Property name="jetty.https.acceptQueueSize" default="0"/></Set>
</New>
</Arg>
</Call>
</Configure>

jetty -ssl.xml:

<?xml version="1.0"?>
<Configure id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">
<Set name="KeyStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.keystore" default=""/>etc/myKeystore</Set>
<Set name="KeyStorePassword"><Property name="jetty.keystore.password" default=""/>password</Set>
<Set name="KeyManagerPassword"><Property name="jetty.keymanager.password" default=""/>password</Set>
<Set name="TrustStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.truststore" default=""/>etc/myKeystore</Set>
<Set name="TrustStorePassword"><Property name="jetty.truststore.password" default=""/>password</Set>
<Set name="EndpointIdentificationAlgorithm"></Set>
<Set name="NeedClientAuth"><Property name="jetty.ssl.needClientAuth" default="false"/></Set>
<Set name="WantClientAuth"><Property name="jetty.ssl.wantClientAuth" default="false"/></Set>
<Set name="ExcludeCipherSuites">
<Array type="String">
<Item>SSL_RSA_WITH_DES_CBC_SHA</Item>
<Item>SSL_DHE_RSA_WITH_DES_CBC_SHA</Item>
<Item>SSL_DHE_DSS_WITH_DES_CBC_SHA</Item>
<Item>SSL_RSA_EXPORT_WITH_RC4_40_MD5</Item>
<Item>SSL_RSA_EXPORT_WITH_DES40_CBC_SHA</Item>
<Item>SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</Item>
<Item>SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</Item>
</Array>
</Set>
<New id="sslHttpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
<Arg><Ref refid="httpConfig"/></Arg>
<Call name="addCustomizer">
<Arg><New class="org.eclipse.jetty.server.SecureRequestCustomizer"/></Arg>
</Call>
</New>
</Configure>

尽管我已将我的 keystore 文件指定为

  <Set name="KeyStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.keystore" default=""/>etc/myKeystore</Set>

无法识别。 Jetty 使用位于“JETTY_BASE/etc”中的默认“keystore”文件。如何使用生成的keystore文件?

最佳答案

start.ini 中包含详细信息并删除文件 jetty-https.xmljetty-ssl.xml

示例 start.ini:

## Keystore file path (relative to $jetty.base)
jetty.sslContext.keyStorePath=etc/myKeystore

## Truststore file path (relative to $jetty.base)
jetty.sslContext.trustStorePath=etc/myKeystore

## Keystore password
jetty.sslContext.keyStorePassword=password

## Keystore type and provider
# jetty.sslContext.keyStoreType=JKS
# jetty.sslContext.keyStoreProvider=

## KeyManager password
jetty.sslContext.keyManagerPassword=password
## Truststore password
jetty.sslContext.trustStorePassword=password

从 jetty documentation :

It is not recommended to use both a ${jetty.base}/start.ini file and a${jetty.base}/start.d directory at the same time and doing so cancause issues.

关于ssl - 在 jetty ssl 文件中配置生成的 keystore ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53879054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com