草庐IT

SSL证书配置

全部标签

ssl - 自己的 https certbot web 服务器返回 404 页面未找到

我有非常简单的gohttpswebserver代码如下:packagemainimport(//"fmt"//"io""net/http""log")funcHelloServer(whttp.ResponseWriter,req*http.Request){w.Header().Set("Content-Type","text/plain")w.Write([]byte("Thisisanexampleserver.\n"))//fmt.Fprintf(w,"Thisisanexampleserver.\n")//io.WriteString(w,"Thisisanexamplese

go - 仅从 YAML 配置文件加载一个部分

我有多个组件,每个组件都需要加载特定的定义才能运行,我想将一个大的YAML文件分成多个部分,每个部分将属于一个不同的组件。因此,我没有为4个组件使用4个配置文件,而是使用一个分为多个部分的大配置文件。现在我只想在每个组件上加载yaml配置文件中的相关部分。我可以吗?以及如何?更新:这两个答案都让我满意(在一个YAML文件中嵌入YAML文件,另一个答案是将JSON解码为一个对象,该对象只包含我在其中插入字符串的相关部分)。 最佳答案 YAML规范允许在一个文件中包含多个YAML文档,方法是使用---分隔它们:http://yaml.o

go - 在 Golang 中如何判断两个证书对是由不同的 CA 颁发的?

我有一个使用自签名tls证书的Golanghttp服务器。我有一对这样的证书和key。现在,假设我有一个类似的证书和key对。我想检测这两对是否由两个不同的CA签发?在这种情况下,我无权访问CA证书。我可以假设链长=1。我试图检查Certificate.Issuer结构。但我看不出有什么不同。我该怎么做?谢谢。 最佳答案 SubjectKeyIdfields两个不同的证书会有所不同。此字段是公钥的哈希值:ThekeyIdentifieriscomposedofthe160-bitSHA-1hashofthevalueoftheBIT

ssl - 带有 client.crt 和 client.key 的 https 请求

我想向https服务器发送POST请求并获得响应。这是我在curl中所做的,效果很好。curl--key./client.key--cert./client.crthttps://test-as.sgx.trustedservices.intel.com:443/attestation/sgx/v2/report-H'Content-Type:application/json'--data'{"key":"value"}'这是我在Go中尝试的代码片段。url:="https://test-as.sgx.trustedservices.intel.com:443/attestation/

ssl - 完成 TLS 握手之前的 OCSP 撤销检查

我需要使用Go作为客户端在完成TLS握手之前对服务器证书进行OCSP吊销检查,即[启动握手->获取服务器证书->检查吊销状态->如果吊销中止],而不是[发起握手->完成握手->检查吊销状态]使用Go的标准TLS库这似乎是不可能的,因为tls.Dial似乎不进行任何OCSP检查。另一种可能的解决方法是在不执行握手的情况下获取服务器证书,然后检查吊销状态,如果状态正常,则使用tls.Dial重做握手,但我找不到在Go中执行此操作的方法。关于如何解决这个特定问题有什么建议吗? 最佳答案 您可以在tls.Config对象中设置VerifyP

go - AWS Cert Mgr - 如何创建客户端和设备证书?

来自AWStechtalk,我了解到,我可以使用以下选项创建私有(private)服务器证书:--------------------服务器证书用于加密和解密内容的基本原理。鉴于顾名思义,客户端证书显然用于向各个用户标识客户端设备证书为物联网生态系统中的每个“事物”创建一个身份,确保每台设备在连接时进行身份验证,并保护设备之间的通信。我们已经通过控制台使用AWSCertmgr创建了根CA和从属CA。如何使用ACMGoLangSDK创build备和客户端证书(私有(private))? 最佳答案 [ACM提问后更新]使用awsacm-

go - 如何使用任意或已弃用的扩展名签署证书

例如,假设我想签署一个带有任意或已弃用扩展名的证书(例如nsCertType):https://www.openssl.org/docs/manmaster/man5/x509v3_config.html我相信我应该按照下面的方式将任意扩展添加为证书的一部分,但是您如何/在哪里发现asn1对象标识符?我已经阅读了更多我今天愿意承认的文档,但仍然感到困惑。tmpl:=&x509.Certificate{SerialNumber:big.NewInt(time.Now().Unix()*1000),Subject:pkix.Name{CommonName:"edgeproxy",Organ

windows - 在 Windows 服务中存储配置数据的推荐方法是什么?

因此,我使用thisAPI在Go中编写了一个Windows服务.一切正常,但我想知道在服务中存储配置数据的最佳方式是什么。通常,我使用SHGetKnownFolderPath进入AppData目录并在其中创建我的应用程序目录。然而,在服务中,这为我提供了C:/Windows/system32/config/userprofile中的路径,这在技术上很好,因为我可以在那里做我需要的,但我想知道是否有一个首选存储配置的方式。为此使用注册表更好吗?或者Windows上是否还有其他用于此目的的东西?在这种情况下,Windows系统管理员对服务有什么期望?谢谢。 最佳

ssl - 去TLS连接

我通过openssl连接到一些服务器:openssls_client-crlf-connectsomehost.com:700-certkey.pem而且它有效。连接成功。但是当我尝试从Go代码(文档中的示例)执行相同操作时,它对我不起作用:import("crypto/tls""crypto/x509")funcmain(){//Connectingwithacustomroot-certificateset.constrootPEM=`-----BEGINCERTIFICATE-----mykeytext-----ENDCERTIFICATE-----`//First,create

ssl - 去 ListenAndServeTLS 握手

目前。我有下面一行(效果很好)http.ListenAndServeTLS(":"+Config.String("port"),Config.Key("https").String("cert"),Config.Key("https").String("key"),router)当我尝试将端口设置为443而不是8080时,问题就来了。我在浏览器上收到以下错误(Chrome)Thissitecan’tprovideasecureconnection.www.example.comsentaninvalidresponse.ERR_SSL_PROTOCOL_ERROR我不确定自己做错了什么