虽然networking去服务器和SSL

您如何更改Go服务器使用的SSL证书? 我们在证书中的域和我们实际用于访问服务器的域之间存在不匹配。 因此,即使在将证书添加到本地商店之后,我们也始终得到证书问题。

有一个build议的解决这个问题的方法: http : //sachinsudheendra.github.io/2014/03/08/using-go-cd-with-custom-certificates.html

还没有尝试过,但将尽快这样做,所以会发布结果,当我已经尝试了。

编辑:我今天试过,可以确认它工作正常。

testing使用OpenSSL 64位http://slproweb.com/download/Win64OpenSSL-1_0_0l.exe

重现步骤(在Windows Server 2012 R2上使用GO版本13.4):

(假设您已经为您想要使用的名称创build了DNS条目,例如mycdserver.mycompany.com)

(这些步骤可以在任何安装了OpenSSL的机器上执行)

  1. 获取有效的X509 SSL证书,使用内部证书颁发机构或者使用CN匹配DNS入口的公共证书颁发机构,例如mycdserver.mycompany.com
  2. 将证书导入Windows证书存储区
  3. 使用证书MMCpipe理单元,将证书导出为.pfx文件,指定serverKeystorepa55w0rd的密码
  4. 使用以下命令从.pfx源文件导出密钥文件:

    openssl pkcs12 -in mycertificatepath.pfx -nocerts -out mycertificatepath.key

  5. 使用以下命令从.pfx源文件导出crt文件:

    openssl.exe pkcs12 -in mycertificatepath.pfx -clcerts -nokeys -out mycertificatepath.crt

  6. 使用以下命令将密钥文件和crt文件转换为pkcs12文件:

    openssl pkcs12 -inkey mycertificatepath.key -in mycertificatepath.crt -export -out mycertificatepath.pkcs12

(这些步骤应该在服务器上执行)

  1. 在服务器上,以pipe理员身份打开命令提示符
  2. 浏览到安装Java运行时环境二进制文件的目录。 默认path是C:\ Program Files(x86)\ Go Server \ jre \ bin
  3. 使用以下命令,使用bin目录中的KeyTool可执行文件将前面步骤中生成的PKCS12文件导入到密钥存储文件中:

    keytool -importkeystore -srckeystore mycertificatepath.pkcs12 -srcstoretype PKCS12 -destkeystore keystore -srcalias 1 -destalias cruise

  4. 使用以下命令停止Go Server服务:

    净停止“去服务器”

  5. 使用以下命令启动Go Server服务:

    networking启动“Go Server”

  6. validation服务是否已正确启动,并尝试通过https(例如mycdserver.mycompany.com)导航到与您的证书相对应的url

  7. 您可能需要先closures浏览器,但是一旦重新打开,您应该使用有效证书通过HTTPS查看您的GO服务器(假设您的客户端已设置为信任颁发证书的证书颁发机构!)

如果有任何问题,那么GO服务器服务将停止,详细信息将logging在文件“C:\ Program Files文件(x86)\ Go服务器\ go服务器包装.log”

希望有所帮助。