问题标签 [certificate-pinning]

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.

0 投票
2 回答
2508 浏览

ios - 如何使用 alamofire 管理器在 ios app swift4 中添加 ssl 证书固定?

我的 ios 应用程序中的 ssl 证书固定有问题,我想要的是使用 alamofire 向所有请求添加 ssl 固定证书,所以下面是我的 alamofire 管理器代码,当我运行应用程序时,我总是收到此错误:

加载失败,错误域=NSURLErrorDomain 代码=-999 “取消” UserInfo={NSErrorFailingURLStringKey= https://myWebsite.com/token , NSErrorFailingURLKey= https://myWebsite.com/token , _NSURLErrorRelatedURLSessionTaskErrorKey=( "LocalDataTask .<1 >" ), _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask .<1>, NSLocalizedDescription=cancelled} [-999]

我的代码是这样的,见下面的代码,它正在工作,但我想要证书固定以确保安全,所以我在上面的代码中添加了东西(如 sessionManager、init()、enableCertificatePinning() 和 getCertificates()),然后它不工作

我通过将证书拖放到项目中将其添加到我的项目中,请帮助,我觉得我的代码有一些错误提前谢谢

0 投票
2 回答
271 浏览

networking - SSL Pinning 后如何以及在何处检测和解析域名

我试图搜索这条信息,但到目前为止还没有找到任何线索,但我相信这里有人可以纠正我或用适当的逻辑回答我的问题。

当我们在我们的移动应用程序(android/ios)中实现 SSL Pinning 时,无法从 Burp 或 Wireshark 工具中嗅探数据包。所以,我的问题是,在网络上,谁会从哪里得到这个加密的数据包并从中提取域名,然后解决它?

使用 SSL Pinning,我们试图隐藏这个客户端和服务器通信,当我们能够隐藏这个时,谁(哪个权限)将能够读取这个包,然后从中提取域名,并将流量传递给相关互联网上的服务器?

0 投票
1 回答
426 浏览

swift - Alamofire 公钥固定不验证其他 url

我有 3 个baseURL,这 3 个有不同的 ssl 证书,我已经下载了一个证书并在 Xcode 项目中硬编码,即使我更改了url请求,应用程序不会阻止请求。

我正在使用这个类

任何人都可以解释实施吗?

0 投票
1 回答
31 浏览

android - 即使颁发它的 CA 不是,网络安全配置文件中的固定公钥是否受信任?

假设我有一个应用程序将一些敏感信息传输到我的服务器。我想降低对我的用户进行中间人攻击的风险,因此我将我的服务器使用的密钥固定在网络安全配置文件中。

但是,假设我的应用程序的用户不信任颁发我们证书的 CA,并将其从受信任的 CA 列表中删除,或者操作系统更新可能会删除 CA,因为它被发现表现不佳。

理想情况下,在这种情况下,我希望我的应用程序拒绝连接到服务器。我只希望它在服务器提供的证书使用 pinset 中的密钥签名并且来自操作系统/用户信任的 CA 的情况下建立连接。在网络安全配置文件中固定密钥是否可以实现这一点?或者,无论如何,固定的密钥都值得信任吗?

0 投票
1 回答
4152 浏览

android - 如何更新固定的ssl证书android

我正在我们的 android 应用程序中实现 SSL 固定。我通过将 2 个证书(当前和备份)嵌入到应用程序中,将它们固定在客户端。

现在,我希望有一种机制来更新这些证书,而无需在证书过期或私钥被泄露的情况下推出应用程序升级。我该如何实施?

我看到的一种可能的解决方案是通过应用通知。我可以广播带有新证书的通知并将它们存储在客户端中。这种方法有什么问题还是有更好的方法?

0 投票
1 回答
84 浏览

ssl - NSURLConnection sendSynchronousRequest + SSL Pinning

使用方法时有没有办法实现 SSL 固定[NSURLConnection sendSynchronousRequest: returningResponse: error:]

0 投票
1 回答
541 浏览

ios - gRPC 中的 TLS 证书固定

使用 Objective-C gRPC 库,如何实现 TLS 证书固定?

额外的问题:我如何使用GRPCcall2不是弃用的来实现这一点GRPCcall

0 投票
1 回答
602 浏览

android - 如何使用 Resttemplate 在 android 中使用 ssl pinning 验证 hsotnameverifyer

我正在做一个银行应用程序,用于使用 HTTPs 为安全目的交互客户端和服务器,因为我必须使用 rest 模板在 android 中添加 SSL pinning。我检查了许多链接以获取 restemplate 代码,但它无法正常工作。这对于 Android 中的 SSL 固定是否正确?我在 Google.Developer.android 找到了这段代码

我已经在我的应用程序中添加了 cert 证书,但是如何与 restemplate 连接:

注意:添加证书就足够了吗?从原始文件夹中,我添加了 crt 文件。如果我在文件中进行一些更改,我会遇到异常,所以 resttemplate 不会调用。如果文件正确意味着它的工作?

休息模板代码:

0 投票
1 回答
2404 浏览

ionic-framework - 离子 + 电容器的 SSL 固定问题

正如官方文档 [1] 中所述,我一直在尝试使用 Cordova Advanced HTTP 插件 [2] 在 Ionic + Angular + Capacitor 项目中实现 SSL Pinning。

但是,每次我用 Xcode 打开 iOS 应用程序时,它都会记录一个错误 [3] 说证书无效,我认为这是错误的。

GitHub [4] 上提供了我所采取的步骤的示例应用程序,我想知道如何将 SSL Pinning 正确集成到我的应用程序中。理想情况下,如果您可以分叉/克隆我的项目并在其中尝试解决方法,这对每个人都会很方便。

[1] https://ionicframework.com/docs/native/http

[2] https://github.com/silkimen/cordova-plugin-advanced-http

[3] https://github.com/ashenwgt/ionic-capacitor-ssl-pinning/blob/master/logs/xcode-log.backup

[4] https://github.com/ashenwgt/ionic-capacitor-ssl-pinning

任何帮助将不胜感激。

0 投票
0 回答
157 浏览

react-native - react-native-ssl-pinning 在 iOS GET 请求中删除标头

我正在使用“react-native-ssl-pinning”在 iOS 上固定请求。POST 请求成功,但 GET 请求失败,因为标头未到达服务器。(服务器抱怨缺少授权令牌。)但是相同的代码在 Android 上运行良好

对于 Android 上的 GET 和 POST 请求,相同的代码/模块运行良好

函数获取(URL,方法,数据){

}

GET 请求应将标头发送到服务器。