草庐IT

iot_tls_connect

全部标签

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

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

postgresql - 连接 : connection timed out

我已经使用gosql包成功连接到Postgres数据库:...db,err:=sql.Open("postgres",connStr)然后我使用返回的数据库执行(长时间运行的)查询:rows,err:=db.Query(...)我得到了错误:dialtcpxx.xxx.xxx.xx:5432:connect:connectiontimedout我有几个问题:为什么连接超时?我能做些什么来防止它超时吗? 最佳答案 sql.Open()mayjustvalidateitsargumentswithoutcreatingaconnecti

postgresql - 通过 pq 连接到 PostgreSQL 数据库返回 "bad connection"错误

我正在使用两台不同的计算机在Go和PostgreSQL中制作一个网络应用程序。两台计算机上的设置相同(Ubuntu与最新版本的Go和PostgreSQL)。问题是我无法让我的应用程序连接到笔记本电脑上的数据库。我使用这段代码:func(db*Database)Dial(userstring,passwordstring,dbnamestring){varerrerrordb.Conn,err=sql.Open("postgres","user="+user+"password="+password+"dbname="+dbname+"sslmode=require")iferr!=ni

go - 使用 Go 通过一个 tls 连接的 Http GET 请求

目前,我正在使用httpGET请求连接到服务器。Get请求是从线程内部调用的。对于每个Get请求,正在使用一个线程,但问题是对于每个Get请求,都会建立一个连接。因此,如果有10000个Get请求,则将建立10000个连接。但是,我想首先在我和服务器之间建立一个TLS连接,然后创建一个线程,然后我想从该线程发送Get到已经建立的连接。例如for{1.establishatlsconnection2.createthreadgofunc()}func(){resp,err:=http.Get(url)//shouldbeoveralreadyestablishedtlsconnectio

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

google-app-engine - 来自 Google App Engine 的 Google Cloud SQL(第二代)出现 "TLS requested but server does not support TLS"错误?

我在重用我的连接字符串(已在此处解决...CannotconnecttoGoogleCloudSQLusingSSL+GolangfromGoogleAppEngine...)时遇到问题,连接到GoogleCloudSQL第一代实例,同时尝试连接到第二代实例。我收到此错误:已请求TLS,但服务器不支持TLS我不知道如何解决这个问题,而且文档非常稀少。我发现Instanceconnectionname在第二代上遵循不同的结构,但这似乎不是问题所在。有人解决了吗?我正在从Golang连接。 最佳答案 AppEngine标准环境和第二代C

go-zookeeper Connect 在没有有效连接的情况下返回

我有一个关于zookeeper的问题,我正在尝试使用go-zookeeper实现简单的服务发现,我正在使用go-zookeeper:https://github.com/samuel/go-zookeeper我的问题是每当我使用例如连接到zookeeper时:zoo_keeper,_,err:=zk.Connect(s,time.Second)函数立即返回,没有报错,但还没有真正有效的连接。现在,例如,如果我想创建znode,我需要检查什么以确保在这样做之前我有一个有效的连接? 最佳答案 在尝试了几件事之后,感谢Imesha的建议,

debugging - 有什么方法可以获取 'http: response.WriteHeader on hijacked connection' 错误的堆栈跟踪?

我们的Web应用程序正在将大量“http:response.WriteHeaderonhijackedconnection”消息记录到stderr。有什么方法可以让http库输出堆栈跟踪或其他调试信息以及此消息(或将其升级为错误),以便追踪位置在我们的应用程序中会发生这种情况吗? 最佳答案 由于永远不会返回错误,并直接写入http.Server.ErrorLog,这是您唯一可以拦截它的地方。您可以在调试器中运行它并在该点中断,但如果在生产环境中运行,这可能没有用。您可以使用io.Writer创建一个新的*log.Logger,当它遇

http - 如何检查错误是否是Go中的tls握手超时

我有以下代码向URL发出请求并检查错误。import"net/http"response,err:=http.Head("url")如何判断是不是tls握手超时导致的错误?我尝试了以下方法:iferr!=nil{tlsError,ok:=err.(http.tlsHandshakeTimeoutError)ifok{//handletheerror}}但我无法访问http.tlsHandshakeTimeoutError类型,因为它未导出。我还能如何检查go中的错误类型? 最佳答案 是tlsHandshakeTimeoutError

ssl - 如何验证我的 TLS 服务器是否正在加密流量?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭4年前。Improvethisquestion我使用自定义生成的证书/key对在Go中设置了一个TLS服务器。有没有一种简单的方法可以让我测试我发送到该服务器的HTTP请求的内容