草庐IT

公钥证书

全部标签

windows - Golang httpClient CA证书默认位置?

我有一个go程序,它使用httpClient连接到内部API(它全部由swagger-codegen生成)。内部API使用https和我们内部CA的内部证书。在我的Windows笔记本电脑上,无需指定任何CA即可正常工作。在Linux服务器上,它因x509:certificatesignedbyunknownauthority错误而失败。我相信我们的Windows公司笔记本电脑默认安装了CA,并且golang无需任何配置即可获得这些CA。因此我想知道go在Linux和Windows上检查CA的位置,这样我就可以比较两个操作系统之间的设置并在上安装正确的CALinux.

go - 如何在 GoLang 中分离编码的 ecdsa 公钥和私钥

到目前为止,我有:key,err:=ecdsa.GenerateKey(elliptic.P521(),rand.Reader)iferr!=nil{os.Exit(-1)}marshalled,err:=x509.MarshalECPrivateKey(key)//marshallsdatatobytestreamiferr!=nil{os.Exit(-1)}基本上,我遇到的问题与这样一个事实有关:当生成key对时,它存储在*ecdsa.PrivateKey中,其中公钥存储在*ecdsa.PrivateKey.PublicKey,当我使用x509.MarshalECPrivateKe

go命令访问自签名证书

我正在使用带有自签名证书的自托管Git(gitea)的Go。然而,对于自签名证书,大多数Go命令都无法正常工作,包括“gomod”。在执行任何其他gomod命令之前,我必须执行“goget-insecure....”。我什至无法执行“golist”,因为它似乎不接受-insecure标志。大多数IDE工具都无法正常工作,尤其是GoLand。解决此类问题的最佳方法是什么?我是否必须获取证书并在本地添加到受信任的证书?或者还有另一种方法可以解决这个问题吗? 最佳答案 正如@Vorsprung所说,我作为我们的MIS提供自签名CA,并在我

ssl - 是否有用于解码 ASN.1 格式的 TLS 证书的接口(interface)

我正在解析从PCAP文件中获取的TLS记录。我有ASN.1格式的TLS证书字节(在[]byte中)。我想将这个byteslice解码为一个有用的结构(避免手动解析ASN.1)。我似乎无法找到遵循RFC的TLS证书的接口(interface)在encoding/asn1也不crypto/tls.这是在我找不到的地方创建的还是我需要自己编写? 最佳答案 该结构在x509package中 关于ssl-是否有用于解码ASN.1格式的TLS证书的接口(interface),我们在StackOver

go - 检查 X509 证书是否与 CertificateRequest (CSR) 匹配

如何在Go中检查x509证书是否与CSR匹配(如果证书是基于特定CSR生成的)?我是否需要从CSR生成新证书并进行比较? 最佳答案 如果您的签名请求是DER格式,那么您可以使用标准库中的几个函数;首先解析CSR(https://golang.org/pkg/crypto/x509/#ParseCertificateRequest),然后解析证书(https://golang.org/pkg/crypto/x509/#ParseCertificate)。解析后,您可以比较公钥值。标准但重要的安全说明:请注意,这无论如何都不会验证证书。

go - 如何将私钥添加到证书

我正在尝试使用Go多合一实用程序创建csr,发送它,然后(在安全人员批准后)获得签名证书,最后创建证书+private以将其添加到浏览器或系统。现在我可以做所有的事情直到最后剪辑:将私有(private)添加到签名证书中。使用openssl我可以通过以下方式做到这一点:opensslpkcs12-export-outsergo.kurbanov.p12-insergo.kurbanov.crt-inkeysergo.kurbanov.key-name"SergoKurbanov"有人可以建议在Go中如何做吗?附言我正在使用Dogtag证书系统 最佳答案

go - 无法在golang中使用公钥加密

我正在使用golang加密库。funcencrypt(publicKey*rsa.PublicKey,messagestring)[]byte{msg:=[]byte(message)println(message,msg)cipherText,err:=rsa.EncryptPKCS1v15(rand.Reader,publicKey,msg)iferr!=nil{println("Error:",err.Error())}returncipherText}出现以下错误panic:运行时错误:无效内存地址或零指针解引用[信号SIGSEGV:分段违规代码=0x1地址=0x0pc=0x4

go - GCP IoT Core 拒绝此 RSA_PEM 公钥并出错

我尝试开发一种自动化方法来使用公共(public)RSApem证书注册新的物联网设备,但我遇到了一个问题,我不知道原因。问题是生成了RSA_PEM公共(public)pem我的自动化被GCP物联网服务器拒绝并出现错误。该错误是“位置1中设备凭证的key数据无效。确保格式正确:无效的RS256公钥”当我调试我的代码时,pem公共(public)证书看起来很好。但我不确定。我正在分享生成配对的私有(private)和公共(public)证书的代码。packagecertimport("bytes""crypto/rand""crypto/rsa""crypto/x509""encoding

go - openshift m5 示例应用程序自签名证书错误

我正在按照https://github.com/openshift/origin/tree/v0.3.3尝试按照centos6.6上的openshift3v0.3.3示例应用程序的说明进行操作.当我运行时openshiftexpolicyadd-userviewanypassword:test-admin我收到来自add_user.go:43的投诉Gethttps://localhost:8443/osapi/v1beta1/policyBindings/master?namespace=default:x509:certificatesignedbyunknownauthority我

go - 如何验证公钥上的 OpenPGP 签名?

我正在开发一个需要验证OpenPGP公钥的go项目,以便能够使用它来验证文件签名。我生成了一个根key和另一个key,我用根key对其进行了签名(我们称第二个key为已签名)。我已将签名key的公共(public)部分导出到装甲文本文件中,以便于分发:gpg--export-asigned>signed.asc我写了这段go代码,它最终说明了我想做什么:packagemainimport("flag""fmt""golang.org/x/crypto/openpgp""os")funcmain(){varkeyringpathstringvarsignedkeypathstringfl