我正在尝试使用自签名服务器证书建立TLS连接。
我使用以下示例代码生成了证书:http :
//golang.org/src/pkg/crypto/tls/generate_cert.go
我相关的客户端代码如下所示:
// server cert is self signed -> server_cert == ca_cert
CA_Pool := x509.NewCertPool()
severCert, err := ioutil.ReadFile("./cert.pem")
if err != nil {
log.Fatal("Could not load server certificate!")
}
CA_Pool.AppendCertsFromPEM(severCert)
config := tls.Config{RootCAs: CA_Pool}
conn, err := tls.Dial("tcp", "127.0.0.1:8000", &config)
if err != nil {
log.Fatalf("client: dial: %s", err)
}
以及类似的服务器代码:
cert, err := tls.LoadX509KeyPair("./cert.pem", "./key.pem")
config := tls.Config{Certificates: []tls.Certificate{cert}}
listener, err := tls.Listen("tcp", "127.0.0.1:8000", &config)
for {
conn, err := listener.Accept()
if err != nil {
log.Printf("server: accept: %s", err)
break
}
log.Printf("server: accepted from %s", conn.RemoteAddr())
go handleConnection(conn)
}
因为服务器证书是自签名的,所以对于服务器和客户端CA_Pool使用相同的证书,但这似乎不起作用,因为我总是会收到此错误:
client: dial: 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 "serial:0")
我怎么了
最终它可以与内置在x509.CreateCertificate中的go一起使用,问题是 我没有设置IsCA:true标志 ,
而是只设置了x509.KeyUsageCertSign ,使创建自签名证书有效,但在验证证书链时崩溃了。
我试图使用一个自签名证书来配置Linphone Android中的TLS,以便能够与FreeSWITCH SIP服务器通信。但是SSL握手失败,出现以下错误: 通道[0x9EC3C000]:SSL握手失败:X509-证书验证失败,例如CRL、CA或签名检查失败,无法连接到[TLS://52.3.207.224:5061] 谁能建议如何调试这个问题?或者如何在Linphone Android中配置自
我有一个带有这些命令的自签名证书链,并在Apache服务器上配置了它们 但是当我尝试 我从openssl中得到一个错误 用于生成证书的命令或配置文件有问题吗? [req] distinguished_name=req_distinguished_name x509_extensions=v3_ca dirstring_type=nobmp [req_distinguished_name] comm
问题内容: 我正在尝试确保通过Internet进行通信的Java客户端/服务器应用程序的连接安全。我的想法是将SSL套接字与自签名证书和客户端身份验证一起使用。我做了以下事情: 服务器:包含新的自签名证书的密钥库。 客户端:包含新的自签名证书的密钥库。 服务器:包含导出的客户端证书的信任库(来自上面的项目符号)。导出客户端证书并将其导入服务器的信任库 客户端:包含导出的服务器证书的信任库(从第一个
问题内容: 我想签署我的应用程序,但是我不希望它的用户在安装我的应用程序之前在他们的手机上安装证书。是否可以使用自签名证书对j2me midlet进行签名? 问题答案: 这是可能的,为此您需要从Verisign购买签名证书。我确实有相同的签名证书,费用为20000卢比(一次)。
我正在尝试从我的android应用程序访问HTTPS url。我有服务器端的自签名证书(server_certificate.cer)。 我想知道如何添加自签名证书到volley网络请求信任我的自签名证书。使用http://blog.applegrew.com/2015/04/using-pinned-self-signed-ssl-certificate-with-android-volley/
我现在走到了路的尽头,看不到解决办法。只是一些背景,我有一个。NET web应用程序,我也有一个自我托管的SignalR端应用程序,客户可以下载它来帮助我的网站与他们的桌面交互。当客户端安装此端应用程序时,它将接受一个自签名证书并安装到受信任的根证书颁发机构和个人证书存储区。 如果我只是忽略这一点并继续下去,它破坏了我的网站SSL,客户在URL栏中看到一个红色的“X”,这不会让他们在网站上感到舒服