我在本地开发盒(Mac OS 10.8)上运行 grails,以使用自签名证书和 WeakSSL grails 插件通过 SSL 托管 Web 服务。问题是我通过 Xcode iPhone 模拟器连接到这个服务器,它给了我一个不受信任的证书错误。
我找到了有关如何将证书安装到手机/模拟器的说明,但我的问题是如何在我的机器上找到要安装的证书?
我认为如果您使用 grails 2.2.x,您将看不到~.grails/
. 为了找到密钥库,插件使用Pattern
与 Grails 版本匹配1.3.x
的2.0.x - 2.1.x
.
理想情况下,您应该看到存储在~./grails/${grailsVersion}
看看找到证书的插件代码。
为此创建了 JIRA缺陷。
由于以下代码,模式匹配器不适用于 Grails 2.2.x 及更高版本。
import java.util.regex.Pattern
Pattern V2X = Pattern.compile("2.[01].\\d+?")
assert !V2X.matcher("2.2.0").find()
此外,考虑使用 openssl 直接从正在运行的 grails 服务器获取密钥,命令如下:
openssl s_client -connect localhost:8443
在用这样的东西启动 grails 之后:
grails run-app -https
openssl 命令的输出将具有自签名证书,您可以将其添加到客户端受信任的证书中。