Grails2.4.x在运行时设置密钥库
在升级到Grails 2.4.x之前(我使用的是Grails 2.2.x),我使用Grails引导类中的系统属性设置SSL密钥库,如下所示:Grails2.4.x在运行时设置密钥库,grails,ssl,openssl,keystore,x509,Grails,Ssl,Openssl,Keystore,X509,在升级到Grails 2.4.x之前(我使用的是Grails 2.2.x),我使用Grails引导类中的系统属性设置SSL密钥库,如下所示: System.setProperty('javax.net.ssl.keyStore', path) System.setProperty('javax.net.ssl.keyStorePassword', password) System.setProperty('sun.security.ssl.allowUnsafeRenegotiation'
System.setProperty('javax.net.ssl.keyStore', path)
System.setProperty('javax.net.ssl.keyStorePassword', password)
System.setProperty('sun.security.ssl.allowUnsafeRenegotiation', 'true')
这在2.2.x中运行得很好,ScribeJava库能够向我的oauth提供商提供客户机证书,而不会出现问题
在升级到Grails2.4.x之后,这似乎不再有效——提供者看不到证书,这导致我假设没有加载密钥库
当应用程序在新版本的Grails中启动时,是否会在不同的时间运行引导程序?这意味着在我有机会修改路径之前,密钥库已经加载了
由于密钥库加载在Java世界中似乎有点像一个黑匣子,调试它几乎是不可能的。所以这完全是我的错-我所做的是覆盖trustStore实现,以便模拟一些SSL API 它应该是不相关的(据我所知),但一旦我删除了我的“开放”信任库实现,其他东西就可以完美地工作了
我想这个问题的真正答案是——如果你在*stores上遇到麻烦,首先看看你的其他*stores代码 是否要尝试使用.groovy文件进行外部配置?IMHO是最佳选择,还是您更喜欢通过系统属性配置?