gpt4 book ai didi

ssl - 如何在 groovy 中使用带有自签名证书的 SSL?

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

我有一些资源必须通过使用自签名证书的 SSL 访问。通常,大多数工具都有一个简单的设置,允许在没有错误或只是警告的情况下访问这些工具。但是,使用 JVM 执行此操作的正确方法似乎是将签名证书作为 CA 导入到 keystore 中。

我有一个我想使用的 groovy 脚本,但我更希望我的脚本在任何 JVM 上独立工作,而无需修改 keystore 或分发新的 keystore 。有没有一种简单的方法可以覆盖认证验证?

最佳答案

经过一些研究,我找到了 this post .这是我最终使用的:

import javax.net.ssl.HostnameVerifier
import javax.net.ssl.HttpsURLConnection
import javax.net.ssl.SSLContext
import javax.net.ssl.TrustManager
import javax.net.ssl.X509TrustManager

def nullTrustManager = [
checkClientTrusted: { chain, authType -> },
checkServerTrusted: { chain, authType -> },
getAcceptedIssuers: { null }
]

def nullHostnameVerifier = [
verify: { hostname, session -> true }
]

SSLContext sc = SSLContext.getInstance("SSL")
sc.init(null, [nullTrustManager as X509TrustManager] as TrustManager[], null)
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory())
HttpsURLConnection.setDefaultHostnameVerifier(nullHostnameVerifier as HostnameVerifier)

使用风险自负:这会破坏证书验证!

关于ssl - 如何在 groovy 中使用带有自签名证书的 SSL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3242335/

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