标签: self-signed

如果将自签名CA根证书导入到计算机存储中,是否可以在没有测试模式的情况下在64位Windows上安装自签名驱动程序?

这是一个很好的答案,其中包括创建自签名CA,然后使用获得的证书签署可执行文件:如何在Windows上为代码签名创建自签名证书?.

我已经在网上阅读了很多关于驱动程序签名如何工作的讨论,答案似乎几乎是毫无疑问的,如果没有启用测试模式,你就无法加载未签名或自签名的驱动程序.然而,我与之相关的答案,特别是Roger Lipscombe的一个评论似乎提供了一个矛盾的观点:

如果要将其用于签名驱动程序,则需要将CA证书导入到计算机存储中.我的示例将其导入到用户存储中,这对于大多数软件来说都很好,用于测试/内部目的.

对我来说,只要将CA证书导入到机器商店,我就可以安装带有自签名证书(由自签名CA颁发)的驱动程序.我不必对系统进行任何其他更改(通过按启动菜单上的F8禁用测试模式,弄乱启动配置标志,如TESTSIGNING或NOINTEGRITYCHECKS).

我对么?当人们需要加载没有提供适当数字签名的驱动程序(例如旧的打印机驱动程序等)时,这种方法没有被广泛使用的障碍有哪些(如果有的话).相反,人们依赖于启动测试模式或第三方软件(DSEO)来篡改您的系统文件以运行此类驱动程序.

这种方法的缺点是什么?上述SO问题中描述的过程需要管理员权限,但无论如何安装驱动程序都需要它们.信任自签名CA可能存在安全风险 - 但是不会禁用所有签名检查会带来更大的安全风险吗?

windows security driver ca self-signed

25
推荐指数
2
解决办法
9224
查看次数

如何从自签名证书的密钥库中导出私钥

我刚刚在运行tomcat 6的linux机器上创建了一个自签名证书.

我创建了这样的密钥,有效期为10年:

keytool -genkey -alias tomcatorange -keyalg RSA -validity 3650
Run Code Online (Sandbox Code Playgroud)

并将密钥库复制到tomcat中的文件夹中,并更新server.xml以指向密钥库.

现在我的网络管理员要求公钥和私钥(对于我们的负载均衡器)

我可以使用以下方法生成公钥:

openssl s_client -connect mydomain.com:8443
Run Code Online (Sandbox Code Playgroud)

但是如何导出/检索私钥?

ssl tomcat certificate keystore self-signed

23
推荐指数
2
解决办法
11万
查看次数

为什么不会卷曲识别自签名SSL证书?

我将PEM文件复制到/ usr/local/share/ca-certificates /并运行了update-ca-certificates,我验证了生成的证书现在包含在/etc/ssl/certs/ca-certificates.crt中,这是curl-config --ca打印的文件.我还验证了openssl s_client -connect example.com:443打印的证书与我的PEM文件相同.然而,我继续得到"错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败"消息.即使我使用http://curl.haxx.se/docs/sslcerts.html中描述的curl -cacert选项告诉它要使用哪个证书,也会发生这种情况.

如果我使用curl -k完全禁用证书验证,它可以工作,但我不想这样做,因为我正在尝试编写一个应该正确测试SSL的测试工具.

如果我在lynx中访问相同的URL,它可以正常工作,如果有任何SSL错误,通常会抱怨.但我不能只使用Lynx来测试这个测试工具,除非我能找到一些方法让Tornado的AsyncHTTPClient使用Lynx而不是libcurl.安装自签名证书满足Lynx而不是curl似乎没有任何意义.

我在Vagrant驱动的VirtualBox中使用Ubuntu 12.04 LTS; 它有卷曲7.22.0.SSL终止代理是在同一台机器上运行的nginx/1.3.13,域名由/ etc/hosts中的条目指向127.0.0.1.

关于可能出现什么问题的任何线索?谢谢.

curl nginx self-signed ssl-certificate

20
推荐指数
1
解决办法
1万
查看次数

在redhat中导入自签名证书

如何在Red-Hat Linux中导入自签名证书.

我不是证书方面的专家,很难通过谷歌搜索找到正确的答案,因为我不知道.cer,.crt或.pem之间的区别.话虽如此,我想做的不应该是火箭科学(在Windows中,我可以在浏览器中点击几下)我想连接到使用自签名证书的服务器.例如,使用wget,而不必使用--no-check-certificate选项.为了完成这项工作,我将不得不将服务器的自签名证书添加到我的RedHat框中.我发现证书位于/ etc/pki/tls中.但是我不知道为了在没有抱怨的情况下制作wget功能我应该采取什么行动.

我可以使用以下命令从服务器获取SSL证书:

openssl s_client -connect服务器:443

证书介于"BEGIN CERTIFICATE和END CERTIFICATE"之间.我不知道这是什么类型的证书.接下来我将把它放在/ etc/pki/tls/certs目录中并应用一些我不知道的openssl secert酱.你能帮我吗?

ssl https openssl redhat self-signed

19
推荐指数
2
解决办法
4万
查看次数

Java:具有自签名证书的SSL客户端身份验证

我正在尝试从通过Internet通信的Java客户端/服务器应用程序保护连接.我的想法是使用带有自签名证书和客户端身份验证的SSL套接字.我做了以下事情:

  • 服务器:包含新自签名证书的密钥库. keytool -genkey -kelalg RSA ...
  • 客户端:包含新自签名证书的密钥库. keytool -genkey -kelalg RSA ...
  • 服务器:包含导出的客户端证书的Truststore(来自上面的项目符号).keytool -export导出客户端证书并将keytool -import -v -trustcacerts其导入服务器的信任库
  • 客户端:包含导出的服务器证书的Truststore(来自第一个项目符号点).keytool -export导出服务器证书并将keytool -import -v -trustcacerts其导入客户端的信任库

信任和密钥库正确连接到服务器/客户端.我可以看到正在加载的证书(SSL调试信息).但整件事情都行不通.在SSL握手期间,我收到以下错误(SSL调试信息):

main, WRITE: TLSv1 Handshake, length = 897
main, READ: TLSv1 Handshake, length = 141
*** Certificate chain
***
main, SEND TLSv1 ALERT:  fatal, description = bad_certificate
main, WRITE: TLSv1 Alert, length = 2
main, called closeSocket()
main, handling exception: javax.net.ssl.SSLHandshakeException: null cert chain
main, IOException in getSession():  javax.net.ssl.SSLHandshakeException: …
Run Code Online (Sandbox Code Playgroud)

java ssl self-signed

18
推荐指数
1
解决办法
4万
查看次数

具有自签名SSL证书问题的HTTPS ...解决方案还是更好的方法?

我需要做的就是从具有自签名SSL证书的Web服务器下载一些基于文本的基本文件和图像文件.

我一直试图弄清楚如何使用HttpClient来做到这一点,但让SSL工作是一场噩梦,这对于这么简单的任务来说似乎太麻烦了.

有没有更好的方法来执行这些文件下载?也许通过WebView或浏览器功能?重新制作一个简单的HTTPS GET请求是一个很大的痛苦,并且显着地阻碍了我的开发计划.

https android download self-signed

17
推荐指数
1
解决办法
4万
查看次数

如果证书是从特定的自签名CA签名的,请检查WebViewClient的onReceivedSslError()方法

我想覆盖onReceivedSslError()一个WebViewClient.在这里,我想检查error.getCertificate()证书是否是从自签名CA签名的,只有在这种情况下,才能调用handler.proceed().在伪代码中:

@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
    SslCertificate serverCertificate = error.getCertificate();

    if (/* signed from my self-signed CA */) {
        handler.proceed();
    }
    else {
        super.onReceivedSslError(view, handler, error);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的CA的公钥保存在名为的BouncyCastle资源中rootca.bks.我能怎么做?

android ca self-signed ssl-certificate webviewclient

16
推荐指数
3
解决办法
8189
查看次数

我如何信任来自电子应用程序的自签名证书?

我有一个电子应用程序,它与我拥有的服务器同步,https://XXX.XX.XX.XXX:port具有自签名证书.我怎么能相信我的电子应用程序的证书?

现在我得到:

Failed to load resource: net::ERR_INSECURE_RESPONSE
Run Code Online (Sandbox Code Playgroud)

ssl https self-signed electron

16
推荐指数
3
解决办法
1万
查看次数

如何使用iOS 7的NSURLSession接受自签名SSL证书

我有以下代码(快速实现):

func connection(connection: NSURLConnection, canAuthenticateAgainstProtectionSpace protectionSpace: NSURLProtectionSpace) -> Bool
{
    return protectionSpace.authenticationMethod == NSURLAuthenticationMethodServerTrust
}

func connection(connection: NSURLConnection, didReceiveAuthenticationChallenge challenge: NSURLAuthenticationChallenge)
{
    if challenge.protectionSpace.authenticationMethod == NSURLAuthenticationMethodServerTrust
    {

        if challenge.protectionSpace.host == "myDomain"
        {
            let credentials = NSURLCredential(forTrust: challenge.protectionSpace.serverTrust)
            challenge.sender.useCredential(credentials, forAuthenticationChallenge: challenge)
        }
    }

    challenge.sender.continueWithoutCredentialForAuthenticationChallenge(challenge)

}
Run Code Online (Sandbox Code Playgroud)

它在iOS 8.x中完美运行, 在iOS 7.x中不起作用在iOS 7.x中我有错误:

NSURLConnection/CFURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9813)

任何的想法?谢谢!!!

ssl https self-signed ios swift

15
推荐指数
1
解决办法
2万
查看次数

如何通过Visual Studio 2017和2015为Windows 10 UWP应用程序创建可信和/或自签名的工作证书

根据此文档:

https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/makecert

以下命令描述了创建Windows cer-file(即来自可信提供者的证书).

这个问题是,在Visual Studio 2017中构建应用程序时,它只允许通过package.windows10.appxmanifest,一个pfx文件.更新此命令行引用时,它不会生成pvk文件,因此需要添加

MakeCert -r -pe -ss PrivateCertStore -n "CN=Contoso.com(Test)" testcert.cer
Run Code Online (Sandbox Code Playgroud)

其他命令行选项,如/ sv SubjectKeyFile,它将生成生成的pvk文件.

但是,即使使用此命令行参考:

MakeCert -r -pe -ss PrivateCertStore -n "CN=Contoso.com(Test)" -sv testcert.pvk testcert.cer
Run Code Online (Sandbox Code Playgroud)

生成的证书文件植入visual studio会产生以下错误:

清单设计器无法导入证书.

您选择的证书无法签名,因为它已过期或有其他问题.有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkID=241478

我去了链接,没有解释真正发生了什么.一个人评论创建一个有效的临时版,但它是一个非特定的测试证书,只持续一年.

有没有更好的方法用makecert创建脚本?我怎么知道证书是否最终正确建立?其他文档会有所帮助,但我还没有找到任何其他内容.

certificate self-signed visual-studio uwp visual-studio-2017

15
推荐指数
1
解决办法
2万
查看次数