即使在将此代码添加到Config.groovy
之后,Grails仍然坚持使用自己的自签名证书:
grails.tomcat.truststorePath = "${grailsSettings.baseDir}/conf/ssl/truststore.jks"
grails.tomcat.truststorePassword = "changeit"
grails.tomcat.clientAuth = "want"
grails.tomcat.keystorePath = "${grailsSettings.baseDir}/conf/ssl/keystore.jks"
grails.tomcat.keystorePassword = "changeit"
grails.tomcat.keyAlias = "localhost"
知道如何在这里强制Grails使用真正的密钥库吗?
显然,将这些设置放在Config.groovy
中是一个常见的错误。它们属于CCD_ 3。一旦我把它们放在BuildConfig.groovy
中,一切都对我有效。
我无法让您的示例工作,也无法弄清楚如何在BuildConfig.groovy
中设置任何属性,但对于grails 2.5.0,这在scripts/_Events.groovy
中对我有效。
eventConfigureTomcat = { org.apache.catalina.startup.Tomcat tomcat ->
if (Environment.getCurrent() == Environment.DEVELOPMENT) {
System.setProperty("javax.net.debug", "ssl") //use this to confirm grails adds proper keystore/truststore settings
System.setProperty("javax.net.ssl.keyStoreType", "jks")
System.setProperty("javax.net.ssl.keyStore", "/absolute/path/to/keystore")
System.setProperty("javax.net.ssl.keyStorePassword", "<_password_>")
System.setProperty("javax.net.ssl.trustStoreType", "jks")
System.setProperty("javax.net.ssl.trustStore", "/absolute/path/to/truststore")
System.setProperty("javax.net.ssl.trustStorePassword", "<_password_>")
println "SSL configuration complete"
}
}