问题标签 [keychain]

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 回答
207 浏览

objective-c - OS X 钥匙串:32 到 64 位

我最近在 Mac OS X 上将我的应用程序从 32 位切换到 64 位。我现在遇到的唯一问题是一些用户抱怨他们现有的钥匙串不再被保存并且他们无法创建新的钥匙串。在这种切换后,钥匙串服务是否有任何理由停止工作?处理钥匙串的实际代码从未改变。

0 投票
1 回答
3187 浏览

iphone - 将 OpenSSH RSA 公钥/私钥对导入 Apple 的钥匙串访问

如标题所述,我想将密钥对导入 Keychain Access。

我做了什么:

  1. 使用 OpenSSH 获取 RSA 公钥/私钥对

我要做什么:

  1. 将密钥对导入 Keychain Access 的“登录”钥匙串
  2. 使用 OpenSSL 创建 CSR
  3. 将 CSR 发送给 Apple 以获取开发者证书

欢迎任何建议。

0 投票
1 回答
338 浏览

security - 一个钥匙串条目中的多个秘密

我有三个秘密要存储在 Mac OS 钥匙串中。目前,我将这些中的每一个都存储在一个单独的钥匙串条目中。这样做的缺点是,如果我的应用程序被更新,用户会看到三个“允许访问”对话框,每个条目一个。我想做的是将所有三个秘密存储在一个钥匙串条目中。其中一个秘密是用户提供的密码。

这样做的标准方法是什么?我应该将所有数据都塞进密码字段(这意味着用户提供的密码在 KeychainAccess.app 中不会很容易阅读),还是有其他方法可以添加多个“密码”(即,加密字段)到一个钥匙串条目?

0 投票
1 回答
1465 浏览

macos - 我的证书(mac + codesign 实用程序)的“身份字符串”是什么?

我马上要说:我不知道我在这里做什么。我不是 Mac 开发人员。

场景如下:我有一个安装程序 (.pkg),我的老板希望我签名。我有 Thawte 颁发的证书;我已将其导入钥匙串程序(并将其设置为对所有内容都可信任)。在包制造商中,在配置选项卡下,有一个标有“证书”的标签,紧挨着另一个标有“不支持”的标签。嗯,太好了。

所以,协同设计;说它不能签署 .pkgs,但可以签署 .dmgs ......但我必须给它一个标识符字符串,以便它可以从钥匙串中提取我的证书。但是在搜索钥匙串程序时,我在任何地方都没有看到名为“身份”或“标识符”或类似名称的字段。

我对此感到非常愚蠢;我已经在这里待了几个小时,谷歌已经产生了许多有用的东西,但没有一个能解释我在哪里找到“标识符”字符串:P

任何帮助将非常感激。

0 投票
1 回答
1085 浏览

iphone - 用于存储和读取用户名和密码的钥匙串

谁能告诉我使用钥匙串存储和读取用户名和密码值的最简单方法是什么?

谢谢!

0 投票
4 回答
29777 浏览

iphone - iOS 钥匙串安全

我们想使用 iPhone 上的证书来验证 MS Exchange Sync。我们不确定如何实施安全概念来保护此证书。

例如,如果没有启用 ScreenLock,是否可以在 iPhone 上获得“完整”钥匙串访问权限?(或使用越狱的 iPhone)。

有人有这方面的链接吗?

0 投票
1 回答
198 浏览

iphone - 使用地址簿在 iPhone 应用程序之间共享信息

我读到可以使用地址簿在 iPhone 应用程序之间共享信息。事实上,TextExpander Touch 似乎能够通过查看他们的 SDK 操作方法来做到这一点:

http://www.freshblocks.com/tutorials/how-to-add-textexpander-touch-sdk-to-iphone-apps/

谁能提供一个具体的例子来说明这是如何实现的?我读过它涉及创建一个“虚拟”联系人 - 但我在手机上看不到任何这样的虚拟联系人。

0 投票
2 回答
11073 浏览

cocoa - 使用 rm 从 Cocoa 应用程序获取管理员权限以删除文件

我正在制作一个删除日志文件的小应用程序。我正在使用一个运行 rm 和 srm(安全 rm)的 NSTask 实例来删除文件。

我希望能够删除以下文件:

  • /图书馆/日志
  • 〜/图书馆/日志

问题是用户帐户无权访问系统库文件夹中的某些文件,例如 Adob​​e 日志子文件夹等。例如,只有“系统”用户(组?)对 Adob​​e 日志文件夹及其内容具有 r/w 权限,而当前用户甚至在该文件夹的“获取信息”窗口中显示的权限中没有条目.

我希望能够做什么:

  1. 获得管理员权限。
  2. 将密码存储在钥匙串中,这样应用程序就不必每次都唠叨用户(存储密码是个坏主意吗?有可能吗?)
  3. 无论文件权限是什么,都可以删除文件。

我使用 NSTask 是因为它提供任务完成通知、从任务本身获取文本输出等。我需要使用其他东西吗?如果是这样,我如何在以管理员权限运行 rm 和 srm 时复制 NSTask 的完成通知和输出文件句柄?

我正在寻找最安全的方式来处理这种情况。即我不希望我的应用程序成为特权升级攻击的门户。

我查看了授权服务编程指南,但不确定哪种情况适合。起初我认为这AuthorizationExecuteWithPrivileges是一个好主意,但在阅读了有关该主题的更多内容后,出于安全原因,似乎不建议使用此方法。

一个详细的答案将非常受欢迎。我相信你们中的一些人已经不得不做类似的事情并且有一些代码和知识可以分享。

提前致谢!

更新:

我现在可以弹出身份验证对话框并获得权限,如下所示:

从外观上看,“Factored Application”方法似乎最合适。问题是,对我来说,rm 已经看起来像是一个外部帮助工具。我不确定我是否得到了文档中建议的 setuid 替代方法。我可以在 rm 上设置 setuid 位并使用我已经实现的 NSTask 方法运行它吗?这意味着我不需要创建自己的辅助工具。有人可以详细说明这个问题吗?

我还查看了 BetterAuthorizationSample,它被建议作为 setuid 位方法的更安全和最新的替代方案,但发现它对于诸如简单行为之类的非常复杂。有什么提示吗?

提前感谢您的帮助!

0 投票
4 回答
10401 浏览

iphone - 使用 KeychainItemWrapper 的问题

我使用以下代码从 iPhone 钥匙串中检索登录凭据:

我的印象是用户第一次启动应用程序时,用户名和密码都无法从钥匙串中检索到,因此username应该password等于nil. 但是,我无法使用NSLog.

有什么建议么?

0 投票
1 回答
87 浏览

php - PHP 原生操作系统“记住我”

抱歉,如果标题具有误导性。我想知道当用户成功登录时如何触发默认的操作系统密码管理器。

示例:我在 OSX 中使用 Chrome,每当我在某个地方登录时,我都可以选择让 Chrome 保存我的登录信息,它将信息存储在我的钥匙串中。

这不是关于登录表单的“记住我”复选框的问题,而是关于如何让浏览器要求保存信息的问题。如果登录成功,我是否需要发送特定的 HTTP 状态代码?目前我在登录后存储会话数据,所以浏览器并没有真正看到变化。

任何指针将不胜感激!