带有SSL证书的Grails 3.3.5

问题描述 投票:0回答:1

我有_client-cert.pem和client-key.pem和ca.pem文件,我正尝试将它们添加到grails项目中。

我使用了以下命令:

在创建密钥库之前将客户机密钥/证书文件转换为PKCS#12

openssl pkcs12 -export -in client-cert.pem -inkey client-key.pem \ 
-name “mysqlclient” -passout pass:mypassword -out client-keystore.p12
  1. 使用client-keystore.p12文件创建Java密钥库

    keytool -importkeystore -srckeystore客户端密钥库.p12 -srcstoretype pkcs12 \-srcstorepass mypassword -destkeystore密钥库-deststoretype JKS -deststorepass mypassword

然后用该路径修改了我的application.yml文件:

enabled: true
key-store: /..../proxreg
key-store-password:kjsfghsfjlhgl
keyStoreType: pkcs12
keyAlias: tomcat

我想知道我是否缺少任何步骤,或者我做错了什么。我收到拒绝访问错误,但是当我尝试通过mysql wokbench连接时,它可以正常工作

ssl grails keystore
1个回答
0
投票
之前将客户端密钥/证书文件转换为PKCS#12。

您可以使用openssl命令行实用程序生成自签名证书。

我们可以使用openssl的req命令创建自签名证书:

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365

上面将提示您提供有关证书的元数据,例如国家/地区,组织等。此外,它会要求您提供PEM密码。输入随机密码并保持安全;我们将在下一步中需要。

现在您拥有了自签名证书。 很遗憾,Grails(和Spring Boot)不直接支持PEM格式。相反,我们需要对密钥使用PKCS12格式。幸运的是,还有另一个openssl命令可以进行转换:

openssl pkcs12 -export -in cert.pem -inkey key.pem -out keystore.p12 -name tomcat -caname root

用以下几行更新grails-app / conf / application.yml:

server:
    port: 8443
    ssl:
        keyStore: /certificates/keystore.p12
        keyStorePassword: secret
    #    keyAlias: tomcat

以上都对我很好。有关更多信息,请参考thisthis

希望这会对您有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.