搜索泥称 发表于 2018-9-20 09:05:22

golang/TLS 采坑

  今天在开发gsweb的https部分时遇到了个神奇的BUG,记录在这里供遇到类似问题的同学参考。
  事情的起因是这样的:
  我在OSX 10.10下用钥匙串生成了一个自签名的网站证书,导出供ListenAndServeTLS使用。然后golang就很不给面子的给我一直报错:crypto/tls: failed to parse key PEM data
解决办法

[*]google了一下发现beego的一个issue也提到了这个问题。里面提到了这个链接;
[*]读了最后一个链接,发现好像这个问题是X509KeyPair格式不对;
[*]按照这个说法,把公钥格式改成了“-----BEGIN CERTIFICATE-----“开始的格式;
[*]运行程序还是不行;
[*]没办法,只有读下golang的源代码了。发现源代码里面有个程序$GOAPTH/libexec/src/crypto/tls/generate_cert.go;
[*]使用这个程序生成了新的证书,问题解决了!!!!!
结论
  应该还是X509KeyPair格式问题,要么是golang只支持特定格式,要么是有什么配置参数?求高手解答???

页: [1]
查看完整版本: golang/TLS 采坑