golang开发问题

gregoryli · · 153 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

开发问题:
How to find out which types implement which interface in Golang?
How do you quickly find the implementation(s) of an interface in Golang?

Ctrl + Alt+b

Ctrl +b show usage

证书问题1:

2018/03/09 10:44:13 check userEcaCert signature:  x509: invalid signature: parent certificate cannot sign this kind of certificate

解决:

ecaCert.BasicConstraintsValid = true
ecaCert.IsCA = true
ecaCert.KeyUsage = x509.KeyUsageCertSign

证书问题2:

根证书、二级证书、三级证书都能经过https验证都需要加上以上三个参数

D:\project>server.exe
2018/03/13 09:38:39 http: TLS handshake error from 127.0.0.1:56660: tls: failed to verify client's certificate: x509: certificate signed by unknown authority (possibly because of "x509: invalid signature: parent certificate cannot sign this kind of certificate" while trying to verify candidate authority certificate "usechaineca")

Cert := &x509.Certificate{
        SerialNumber: big.NewInt(1658),
        Subject: pkix.Name{
            Country: []string{"CN"},
            Organization: []string{"usechainEca"},
            OrganizationalUnit: []string{"eca"},
        },
        NotBefore: time.Now(),
        NotAfter: time.Now().AddDate(10,0,0),
        SubjectKeyId: []byte{1,2,3,4,6},
        ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageClientAuth, x509.ExtKeyUsageServerAuth},
        BasicConstraintsValid: true,
        IsCA: true,
        KeyUsage: x509.KeyUsageDigitalSignature|x509.KeyUsageCertSign,
    }

如果是openssl生成的则需要客户端证书改成如下格式:

openssl genrsa -out client.key 2048
openssl req -new -key client.key -subj "/CN=client" -out client.csr
openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days 5000

改成:
openssl genrsa -out client.key 2048
openssl req -new -key client.key -subj "/CN=client" -out client.csr
echo extendedKeyUsage=clientAuth > extfile.conf
openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.conf -out client.crt -days 5000

本文来自:博客园

感谢作者:gregoryli

查看原文:golang开发问题

153 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传