问题标签 [self-signed]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ssl - 自签名 SSL 证书和 stringWithContentsOfURL
我正在从服务器请求一些数据NSString#stringWithContentsOfURL:
。服务器正在使用自签名证书,因此stringWithContentsOfURL:
只需返回 nil 并且不提供更改以接受证书。
这都是预期的行为。我知道如何正确地使用NSURLConnection
它的委托方法来执行此操作,但我正在寻找更短期的修复而不是重写此代码。(是的最后期限)
所以我的问题是,是否可以将自签名证书导入应用程序的钥匙串,这会导致stringWithContentsOfURL:
接受自签名证书吗?
android - Android DefaultHttpClient 接受 SSL 会话帮助的所有证书
我正在尝试使用 Android 设备上的 apache DefaultHttpClient 连接到本地 HTTPS 服务器。
当 .execute 运行时,我收到“javax.net.ssl SSLException:不受信任的服务器证书”错误。我只想允许任何证书工作,无论它是否在 android 密钥链中。
我花了大约 40 个小时研究并试图找出解决此问题的方法。我已经看到了很多如何做到这一点的例子,但到目前为止还没有一个在 Android 中起作用;它们似乎只适用于 JAVA。有谁知道如何配置或覆盖 Android 中 Apache HttpClient 使用的证书验证,以便它只批准 DefaultHttpClient 连接的所有证书?
我感谢你的友好回应
iphone - 创建新的持久性存储时崩溃(越狱的 iPhone 设备 4.1)
每当我使用自签名证书将“CoreDataBooks”Apple iOS 示例应用程序部署到我的越狱设备并运行它时 - 它在将核心数据持久存储添加到持久存储协调器的行处崩溃:
第 178 行:
// 更新以适当地处理错误。NSLog(@"未解决的错误 %@, %@", error, [error userInfo]); 中止();}
有趣的是,应用程序的“文档”目录从未创建过,sqlite 也从未复制到其中,所以我怀疑它可能与写权限问题有关。但是,我已经通过递归设置 777 权限来测试应用程序,并且是相同的。
示例适用于 iPhone 模拟器。
环境总结:
- Xcode 3.2.4 / iOS SDK 4.1
- 设备:iPhone4 (iPhone3,1)
- 固件:4.1 (8B117)
- 越狱:PwnageTool 4.1.2
如http://ihackmyi.com/forum/index.php/topic,24020.0.html所述,使用自签名证书进行代码签名
完整的代码是从这个位置下载的:http://developer.apple.com/library/ios/#samplecode/CoreDataBooks/Introduction/Intro.html
出于构建目的,示例配置略有更改:
- 基础 SDK:iOS 设备 4.1
- 代码签名/任何 iPhone OS 设备:“Xcode 代码签名”
- iOS 部署目标:iOS 4.1
我使用 SSH 将其部署到设备上的 /Applications 目录,并将权限设置为 777:
我使用 Respring 重新启动 Springboard,之后我运行 CoreDataBooks 应用程序并崩溃并显示以下崩溃日志(我提供了符号化版本):
其他与核心数据相关的样本也是如此。
在此先感谢,尼古拉
jakarta-ee - JBoss reload certificate truststore without restart
Is there a way to "reload" the certificate truststore in JBoss 4.2 without restart?
I am trying to have an EJB call a web service on a remote server with ssl and am seeing a similar problem with SSLHandshakeException as in the article below. What we are attmepting to do is the following and involves three machines, A the JBoss server acting as a web service client to servers B and C.
1) On A, user enters in hostname for B. The machine on A obtains the self-signed certificate of B and installs it in the trust store (via an external shell script).
2) The SSL socket connection is made to B at which it point it seems the certificate store is loaded on this first attempt. The connection is successful and everything works.
3) Again on A, user does the same thing as in 2, the shell script obtains C's certificate and installs it to the trusstore. However, on the attmepted connection to C, it appears (by enabling javax.net.debug=ssl) that the truststore is not "reloaded" and it doesn't find C's certificate and we get SSLHandshakeException.
After restarting JBoss the "updated" truststore is loaded, and the connection to both B and C work.
Would like to do this without restarting JBoss and gather the above scheme isn't correct. If someone could point me to documentation for the correct way to dynamically update truststore it would be very much appreciated.
java - Android 签名应用
我正在尝试发布一个可供其他应用程序使用的应用程序(这意味着其他应用程序可以调用我的应用程序为他们做一些服务)。但是我看到,当我使用我的 default.keystore 和其他应用程序(想要与我的应用程序通信)签署我的应用程序时,由其他一些 default.keystore 签名的应用程序无法通信或调用我的应用程序。
如果我的应用程序和其他应用程序都使用相同的密钥库签名,他们就可以进行通信。
有人可以指导我如何签署应用程序并让其他签名的应用程序调用它吗?
java - Java:使用自签名证书的 SSL 客户端身份验证
我正在尝试保护来自通过 Internet 通信的 Java 客户端/服务器应用程序的连接。我的想法是使用带有自签名证书和客户端身份验证的 SSL 套接字。我做了以下事情:
- 服务器:包含新的自签名证书的密钥库。
keytool -genkey -kelalg RSA ...
- 客户端:包含新自签名证书的密钥库。
keytool -genkey -kelalg RSA ...
- 服务器:包含导出客户端证书的信任库(来自上面的要点)。
keytool -export
导出客户端证书并将keytool -import -v -trustcacerts
其导入服务器的信任库 - 客户端:包含导出的服务器证书的信任库(来自第一个要点)。
keytool -export
导出服务器证书并将keytool -import -v -trustcacerts
其导入客户端的信任库
信任库和密钥库已正确附加到服务器/客户端。我可以看到正在加载的证书(SSL 调试信息)。但整件事都行不通。在 SSL 握手期间,我收到以下错误(SSL 调试信息):
当我禁用客户端身份验证时,它可以完美运行。
我真的很感激一些帮助。非常感谢!
您可以在下面找到来自服务器的完整但匿名的输出:
openssl - 红帽 - 接受自签名证书
有没有办法让 Red Hat Linux 机器信任自签名证书?
例如 wget https://example.com - 给出证书不受信任的错误,因为“https://example.com”具有自签名证书;使用 wget '--no-check-certificate' 可以覆盖对证书的检查。但我想让 Red Hat 隐式信任自签名证书 - 有没有办法做到这一点?
谢谢。
java - 如何从 Java 生成、签署和导入 SSL 证书
可能重复:
使用 Java 生成证书、公钥和私钥
我需要在运行时生成自签名证书,对其进行签名并导入到 Java 密钥库。我可以通过以下方式在命令行中使用“keytool”和“openssl”来做到这一点:
当然,我可以使用 keytool 和 openssl 二进制文件发布我的应用程序,并从 Java 执行上述命令,但我正在寻找一种更简洁的方法,它允许我使用纯 Java 完成上述所有操作。
我可以使用任何库吗?
c# - .NET 不信任我的自签名证书,但 IE 信任吗?
我有一个用于开发测试的自签名证书。我已将它添加到证书管理器中的“受信任的根证书颁发机构”文件夹下,当在 IE 或 Chrome 下访问该站点时,它被认为是有效的(在 Firefox 下它不喜欢它是自签名的事实)。
但是,当我的 C# 客户端尝试连接以调用 Web 服务或打开 SSL 套接字时,它会收到异常消息“无法为具有权限‘[服务器地址]’的 SSL/TLS 安全通道建立信任关系。”。更烦人的是,当我通过 Visual Studio 进行调试时,这不会发生,只有当我尝试从测试机器上运行它时才会发生这种情况,该测试机器也已将证书添加到受信任的组中。
.NET 使用什么标准来验证我的证书?
android - 无法安装未签名的 APK
我正在尝试将我的应用程序分发给某些人进行测试。我已经直接从 Eclipse 将它安装在我的 Desire 上,它工作正常。
要创建 APK 文件,我直接从 eclipse 中选择“Export Unsigned Application Package”,然后创建一个 APK 文件。我通过电子邮件将其发送给自己并将文件下载到 SD 卡中。但是当我尝试安装它(使用 ES 文件浏览器)时,我收到一条消息“未安装应用程序”。
(我已经检查了我手机上的“允许安装非市场应用程序”)有什么想法吗?
是的,我发现了问题,请参阅下面的答案:
我不知道即使使用“允许安装未标记的应用程序”,我仍然需要对应用程序进行签名。我自签名我的应用程序,按照此链接自签名并发布应用程序,只用了 5 分钟,然后我将签名的 APK 文件通过电子邮件发送给自己并将其下载到 SD 卡,然后安装它没有任何问题。