问题标签 [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 投票
1 回答
1756 浏览

ios - 如何允许用户在 iOS 中使用 AFNetworking 信任和固定自签名 SSL 证书

我正在开发一个供企业使用的 iOS 应用程序。我们的应用程序将与可能配置有部署我们服务器软件的公司生成的自签名证书的服务器通信。

我们的 iOS 应用程序正在使用允许 SSL Pinning 的 AFNetworking。但我得到的印象是,这只固定 SSL 证书,这些证书在创建时作为应用程序包的一部分包含在内。它不允许您使用 iOS 设备稍后知道的证书。

我正在寻找一种方法让客户推出(可能通过配置文件)自签名证书,以便我们的应用程序可以安全地与服务器通信。有办法吗?或者我是否需要跳过 AFNetworking 并直接使用 Foundation 类。

我也欢迎任何有助于澄清这个问题的评论。

更新:对于其他可能像我一样困惑的人。虽然我理解 pinning 是一个重要的话题,但我把它与我的首要任务混淆了:从我们的原型应用程序中删除对无效证书的支持。我想要的是一种让用户明确信任自签名证书的方法。这很简单。只需将其作为配置文件添加到您的 iOS 设备即可。但我也被我们在开发中使用的自签名证书不太正确,因此 iOS 不会信任它们这一事实绊倒了我。请参阅http://blog.httpwatch.com/2013/12/12/five-tips-for-using-self-signed-ssl-certificates-with-ios/了解如何生成“良好”的自签名证书。现在我已经拥有了受信任的自签名证书,我将跟进如何使用 pinning。

0 投票
1 回答
269 浏览

android - 肥皂网络请求ANDROID的自签名证书

我们如何自签名肥皂请求,例如获取和发布请求,请提供任何示例或教程。我也提到了链接,但我无法绘制肥皂请求。

0 投票
1 回答
138 浏览

c# - 需要固定相邻的固定大小的缓冲区吗?

我一直致力于将旧的 C++ 应用程序移植到 C#,但我不确定我的解决方案是否真的可行。

最令人头疼的是该应用程序的文件格式基本上只是一些(相当大的)结构转储到文件中。有趣的部分是格式要求整数以大端顺序排列,无论系统如何。因此,我拼凑了一种实用方法来翻转字节顺序,并使用大量固定大小的缓冲区构建了复制 C++ 布局的结构。此时导入就像将文件复制到内存并使用Marshal.PtrToStructure一样简单,这比手动读取要容易得多,但不会让我在构建时翻转字节顺序。

因此,格式在很大程度上取决于短变量,无论是单独的还是固定缓冲区中的。在将许多固定语句组合在一起以固定缓冲区以进行翻转的过程中,我有一个令人不安的想法。

除非我弄错了,否则只固定一个缓冲区会导致整个结构被固定(将结构的一部分从其余部分重新定位是没有意义的)。所以,我尝试过这样的事情:

这个想法是该实用程序方法适用于指针和计数,就像它是一个数组一样遍历指针 - 我最初编写它是为了翻转缓冲区,但我在这里看到了值。从理论上讲,它似乎工作正常 - 所有变量都在一次调用中翻转,没有那么大惊小怪。我需要知道的是我的概念是否真的安全。手动固定所有东西将是一个巨大的痛苦——我提到过这些结构是巨大的吗?

固定一个变量是否会固定整个结构并使这种诡计成为可能,或者到目前为止我只是幸运地没有把内存弄得一团糟?到目前为止,我的测试结果是肯定的,但我不能肯定地说。我宁愿不要让我受到这种打击。

0 投票
1 回答
902 浏览

iphone - 如何获取证书公钥字符串“Convert SecKeyRef from to NSString”iOS,如果这个密钥字符串在所有平台上都相似?

我必须在我的 iOS 应用程序中进行证书固定并使其有 2 个选项 1- 检查证书,因为它是 2- 仅检查证书的公钥

就我而言,我的应用程序一直连接到后端服务器,当用户尝试登录时,应用程序应该登录另一台服务器以解决一些安全问题,该服务器也可能根据用户类型进行更改

所以我的后端服务器向我发送了一些带有每个登录 url 服务器的服务器证书公钥字符串的 url,我必须在用户登录时检查密钥的相似性

这个应用程序也适用于 iOS 和 Android,

我的问题是我可以从登录服务器证书中获取公钥(作为字符串)来匹配它存储的那个密钥是否类似于 android 上的那个?所以后端服务器只为我发送一个密钥和安卓?

0 投票
1 回答
2264 浏览

ssl - 更改 Charles Proxy 使用的证书

我想在我的 Android 应用程序(https://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning)上实现固定。简而言之,它是客户端将接受的公钥白名单。它在我的客户端中进行了硬编码,因此除非 SSL 握手具有特定的公钥,否则应用程序不会与服务器通信。

问题:我想使用 Charles Proxy 来查看来回的 HTTPS 流量,因为 Charles Proxy 本质上是一个 MITM 并使用自己的证书签署请求,我的应用程序拒绝它。

有没有办法给查尔斯服务器证书(我拥有它)并让它用它来签署请求?

0 投票
1 回答
1709 浏览

c# - 如何在 Windows Phone 8.1 上实现证书锁定

我知道这在 WP7 和 WP8 上是不可能的,但据我所知,执行此操作的 api 已在 WP8.1 (Windows.Web.Http.Filters) 上实现。但是我怎样才能使用这个系统来检查一个 ssl 证书呢?

0 投票
2 回答
1534 浏览

ios - 如果部署了有效证书,iOS AFNetwork SSL Pinning 模式是否会提供额外的安全奖励

据我了解,SSL Pinning 是将服务器的公钥或证书与事先捆绑在客户端中的副本进行比较。

我在 Stackoverflow 中看到许多开发人员使用 AFNetwork 库的 SSL Pinning,但他们中的大多数人将它与自签名证书一起使用。

我从 CA 购买了有效证书并通过了测试以验证它工作正常。我的意思是,我设置了以下内容并且它有效

我想知道的是,如果将 Pinning 模式设置为 AFSSLPinningModePulicKey,除了有效证书提供的内容之外,我的应用程序与服务器的通信会更加安全吗?

多谢。

0 投票
1 回答
2063 浏览

html - 使用 Html 和 CSS 更改 Pinterest 小部件的背景

我已经尝试了几个小时徒劳地使用 pinterest 小部件在描述中具有不同的背景和文本颜色。我的页面是

http://www.nicholasboydcrutchley.com/short-stories/woman-and-wolf

我知道它会在加载时改变它的类。

有谁知道 CSS 中的代码和位置?另外,要使用什么html。或者,我可以修复小部件的高度,以便只保留图片吗?

我什至尝试过使用 pin 按钮来修复参数,但我非常不确定如何在 pin 的描述中包含 #....

如果您知道如何在描述中允许 #,那也很棒。

谢谢你的热心帮助

0 投票
1 回答
4996 浏览

android - 在 Parse 中,从本地数据存储中取消固定对象是否也会删除它们指向的对象?

在 Parse SDK 文档中,它指出固定指向另一个对象的对象,也将固定该目标对象:https ://parse.com/docs/android_guide#localdatastore-pin

与保存一样,这会递归地存储 gameScore 指向的每个对象和文件,如果它是从云中获取的。每当您保存对对象的更改或从 Parse 获取新更改时,数据存储中的副本将自动更新,因此您不必担心。

但是它没有说明的是,您以后如何取消固定第一个对象以及它指向的任何对象?(基本上是反向交易),以及从云中删除这些对象?

你会:

A.) 取消固定引用第一个对象的所有对象,然后使用 DeleteEventually 删除目标对象

或者

B.)首先取消固定所有对象,然后自动删除目标对象?

此外,如果一个对象固定在数据存储中,但也保存到云中(从不取消固定),取消固定是否也会将其从云中删除?还是需要先取消固定然后删除,还是删除/取消固定?

编辑:

如果我理解 Fosco 的回复,我需要执行以下操作:

0 投票
0 回答
416 浏览

android - Android MediaPlayer SSL 证书固定

有很多关于使用 SSL 证书固定在 Android 上发出 HTTP 请求的描述——这是一件好事。

但是,我想知道在通过 VideoView/MediaPlayer 加载和播放 HLS 流时是否有办法做到这一点?有了这些,我们不会自己建立连接——这是由系统完成的。我想要某种方式能够只信任我自己的证书。