2014-10-17 23 views
4

即使将此代码添加到Config.groovy后运行战争,Grails的坚持使用自己的自签名证书:如何强制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在这里使用真正的密钥库?

回答

3

显然,这是一个common mistake把这些设置在Config.groovy。他们属于BuildConfig.groovy。一旦我把它们放入BuildConfig.groovy,一切都为我工作。

0

我无法让你的例子工作或弄清楚如何在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" 
    } 
} 
相关问题