undertow ssl_SSL与WildFly 8和Undertow
undertow ssl
我一直在研究WildFly 8的一些安全性主題,偶然發現了一些沒有很好記錄的配置選項。 其中之一是用于新的Web子系統Undertow的TLS / SSL配置。 有很多關于較舊的Web子系統的文檔,并且確實仍然可以使用,但是這里是使用新方法進行配置的簡短方法。
生成密鑰庫和自簽名證書
第一步是生成證書。 在這種情況下,它將是一個自簽名的,足以顯示如何配置所有內容。 我將使用普通的Java方式,因此您所需要的只是JRE keytool。 Java Keytool是密鑰和證書管理實用程序。 它允許用戶管理自己的公鑰/私鑰對和證書。 它還允許用戶緩存證書。 Java Keytool將密鑰和證書存儲在所謂的密鑰庫中。 默認情況下,Java密鑰庫被實現為文件。 它使用密碼保護私鑰。 Keytool密鑰庫包含私鑰和完成信任鏈并建立主證書的可信賴性所需的任何證書。
請記住,SSL證書具有兩個基本目的:分發公共密鑰和驗證服務器的身份,以便用戶知道自己不會將信息發送到錯誤的服務器。 只有當服務器由受信任的第三方簽名時,它才能正確驗證服務器的身份。 自簽名證書是由自身而非受信任的權威機構簽名的證書。
切換到命令行并執行以下命令,該命令已設置了一些默認值,并提示您輸入更多信息。
$>keytool -genkey -alias mycert -keyalg RSA -sigalg MD5withRSA -keystore my.jks -storepass secret ?-keypass secret -validity 9999What is your first and last name?[Unknown]: ?localhost What is the name of your organizational unit?[Unknown]: ?myfear What is the name of your organization?[Unknown]: ?eisele.net What is the name of your City or Locality?[Unknown]: ?Grasbrun What is the name of your State or Province?[Unknown]: ?Bavaria What is the two-letter country code for this unit?[Unknown]: ?ME Is CN=localhost, OU=myfear, O=eisele.net, L=Grasbrun, ST=Bavaria, C=ME correct?[no]: ?yes確保將所需的“主機名”放入“名字和姓氏”字段中,否則在某些瀏覽器中永久接受此證書作為例外時,您可能會遇到問題。 Chrome對此沒有任何問題。
該命令在執行的文件夾中生成一個my.jks文件。 將此復制到您的WildFly配置目錄(%JBOSS_HOME%/ standalone / config)。
配置其他WildFly安全領域
下一步是在standalone.xml的WildFly安全領域部分中,將新的密鑰庫配置為ssl的服務器身份(如果使用的是-ha或其他版本,請對其進行編輯)。
<management><security-realms> <!-- ... --><security-realm name="UndertowRealm"><server-identities><ssl><keystore path="my.keystore" relative-to="jboss.server.config.dir" keystore-password="secret" alias="mycert" key-password="secret"/></ssl></server-identities></security-realm> <!-- ... -->您已準備好進行下一步。
為SSL配置Undertow子系統
如果您使用默認服務器運行,請將https-listener添加到undertow子系統:
<subsystem xmlns="urn:jboss:domain:undertow:1.2"><!-- ... --><server name="default-server"><!-- ... --><https-listener name="https" socket-binding="https" security-realm="UndertowRealm"/> <! -- ... -->就這樣,現在您可以連接到實例https:// localhost:8443 /的ssl端口了。 請注意,您會收到隱私錯誤(比較屏幕截圖)。 如果需要使用完全簽名的證書,則通常會從證書頒發機構獲取PEM文件。 在這種情況下,您需要將其導入密鑰庫。 這個stackoverflow線程可能會幫助您。
翻譯自: https://www.javacodegeeks.com/2015/01/ssl-with-wildfly-8-and-undertow.html
undertow ssl
總結
以上是生活随笔為你收集整理的undertow ssl_SSL与WildFly 8和Undertow的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果回应仅 USB-C AirPods
- 下一篇: 苹果 iOS 17.0.2 正式版发布