Tag: keychain

iPhone的钥匙扣项目应用程序卸载后仍然存在?

我正在玩idandersen的钥匙链的scifihifi-iphone代码,并遇到以下行为 – 我设置密码使用,说 [SFHFKeychainUtils storeUsername:@"User" andPassword:@"123" forServiceName:@"TestService" updateExisting:YES error:&error]; 然后从设备上删除testing应用程序,并再次安装 – 以前设置的密码似乎仍然在钥匙串… 这是预期的行为? 有没有办法确保我设置的密码将被删除与应用程序?

如何通过命令行为iOS开发安装开发人员证书/私钥和configuration文件?

我正在为iOS应用程序项目configuration自动构build服务器。 我做了大部分。 现在,这是最后一轮。 安全。 开发人员证书/私钥和configuration文件可以通过GUI轻松安装到Keychain中。 但是我想通过命令行来实现configuration过程的自动化。 通过命令行导出/导入证书,私钥,configuration文件。 任何build议将非常赞赏。

在iOS上存储身份validation令牌 – NSUserDefaults与钥匙串?

当用户login到服务时,应该存储令牌的位置是哪个? 我没有保存密码(显然我在哪里使用钥匙串),但只是令牌。 很多地方都说使用NSUserDefaults,但StackOverflow上的一些人似乎对Keychain非常热衷。 是NSUserDefaults罚款?

添加一个自签名证书到iPhone模拟器?

我在我的API的端点上有一个自签名证书。 我正在尝试使用模拟器testing一些东西,但获得“不可信的服务器证书”。 我试图在模拟器上使用safari来下载.crt文件,但是这似乎不起作用。 iPhone Simulator从哪里获取钥匙串? 如何添加可信证书以便我的应用程序可以工作? UPDATE 我通过创build一个CA然后使用iPhoneconfiguration工具添加一个CA证书来实现它。 然后,我可以在API服务器上获得由该CA证书签名的证书,并且NSConnection正常工作。 出于某种原因,我无法使用自签名证书来工作。 我需要使用configuration软件重新尝试此操作。 我真正的问题是我如何得到这个在模拟器上工作? 我会认为模拟器使用实际电脑的钥匙串。

这个证书有一个无效的发行者:钥匙串标记所有的证书为“无效的发行者”

钥匙串在我的钥匙串中突然显示所有的证书都是无效的,因为它在2天之前工作,我也在开发者入口检查,并显示在那里有效。 它将钥匙链中的每个证书都标记为“此证书具有无效的发行者” 。 作为消息提示,它必须是来自发行方的问题,而我们的发行人是苹果。 那么如何解决呢? 这个证书有一个无效的发行者 在这里我张贴钥匙串的形象。 我需要快速的帮助。

什么使钥匙串项目独特(在iOS中)?

我的问题涉及iOS(iPhone,iPad,…)中的钥匙链。 我认为(但不是很确定)在Mac OS X下实现钥匙链引发了同样的问题。 iOS提供了五种types的钥匙串项目。 您必须为密钥kSecClassselect这五个值中的kSecClass来确定types: kSecClassGenericPassword used to store a generic password kSecClassInternetPassword used to store an internet password kSecClassCertificate used to store a certificate kSecClassKey used to store a kryptographic key kSecClassIdentity used to store an identity (certificate + private key) 经过长时间阅读苹果文档,博客和论坛条目,我发现kSecClassGenericPasswordtypes的钥匙串项目从属性kSecAttrAccessGroup , kSecAttrAccount和kSecAttrService获得其唯一性。 如果请求1中的这三个属性与请求2中的相同,那么无论其他属性如何,您都会收到相同的通用密码钥匙串项目。 如果一个(或两个或全部)这个属性改变了它的值,那么你会得到不同的项目。 但kSecAttrService仅适用于kSecClassGenericPasswordtypes的kSecClassGenericPassword ,因此它不能成为任何其他types项目的“唯一键”的一部分,似乎没有文档明确指出哪些属性唯一确定了一个钥匙串项目。 “GenericKeychain”类的“KeychainItemWrapper”中的示例代码使用属性kSecAttrGeneric使项目具有唯一性,但这是一个错误。 这个例子中的两个条目仅被存储为两个不同的条目,因为它们的kSecAttrAccessGroup是不同的(一个访问组已设置,另一个允许它自由)。 如果您尝试使用Apple的KeychainItemWrapper添加没有访问组的第二个密码,则会失败。 所以,请回答我的问题: 是真的, […]

此证书具有无效的发行者Apple推送服务

我已经创build了证书来启用我的应用程序中的推送服务,但是每次尝试在我的钥匙串中添加证书时,添加证书后都会显示以下错误: 这个证书有一个无效的发行者

Sierra的安全/密码:钥匙串忽略访问控制设置和UI提示以获得许可

从macOS Sierra开始,我无法使用/ usr / bin / security将密码标识导入到密钥链中,而无需使用usr / bin / codesign UI提示使用此标识进行访问。 这打破了构build服务器的打包脚本。 似乎没有解决方法。 这会影响自定义创build的钥匙串,但也会影响login.keychain。 重现步骤:在terminal中执行以下命令(需要签名标识才能导入): security create-keychain -p test buildagent.keychain security unlock-keychain -p test buildagent.keychain security list-keychains -d user -s buildagent.keychain security default-keychain -s buildagent.keychain security import identity.p12 -k buildagent.keychain -P password -T /usr/bin/codesign codesign -vfs '$IDENTITY' '${PRODUCT}' –keychain 'buildagent.keychain' 结果:macOS显示一个UI提示,要求获得访问先前导入的私钥的权限。 我已经尝试了很多解决方法,但似乎没有任何工作: 指定钥匙串名称时使用新的.keychain-db扩展名 使用login.keychain而不是自定义的 […]

将Jenkins / Hudson用作iOS和Mac开发的持续集成时,在钥匙串中缺less证书和密钥

我正在努力改善iOS的Hudson CI,并在系统启动后立即启动Hudson。 为此,我使用以下launchd脚本: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>Hudson CI</string> <key>ProgramArguments</key> <array> <string>/usr/bin/java</string> <string>-jar</string> <string>/Users/user/Hudson/hudson.war</string> </array> <key>RunAtLoad</key> <true/> <key>UserName</key> <string>user</string> </dict> </plist> 这工作正常,但是当由Hudson启动的xcodebuild尝试签名应用程序时,它会失败,因为它无法在钥匙串中find正确的密钥/证书。 然而,密钥/证书对在那里,因为它正常工作,如果我从命令行启动Hudson。 你有什么想法,为什么发生?