Questions tagged «keychain»

钥匙串是一个加密的容器,其中包含多个应用程序和安全服务的密码。苹果公司在Mac OS和iOS中使用钥匙串作为密码管理系统。


9
如何将使用PuTTYgen(Windows)生成的SSH密钥对转换为ssh-agent和Keychain(Linux)使用的密钥对
我已经使用PuTTYgen生成了密钥对,并使用Pageant进行了登录,因此在系统启动时,只需输入一次密码。 如何在Linux中实现这一目标?我听说过,keychain但是我听说它使用不同的密钥对格式-我不想更改Windows密钥,如果我可以在Windows和Linux中以相同的方式无缝连接,那就太好了。


14
iOS:如何在应用程序中存储用户名/密码?
我的iOS应用程序中有一个登录屏幕。用户名和密码将保存在中,NSUserDefaults并在您再次进入应用程序时再次加载到登录屏幕中(当然,这NSUserDefaults是永久性的)。 现在,用户可以禁用用户名/密码保存功能。 因此,NSUserDefaults将清除。 但是在我的应用程序中,我需要此用户名/密码来进行用户的数据库查询。因此:除了在哪里存储数据NSUserDefaults?(当用户退出应用或退出时,可以/应该删除此地点)。

8
卸载应用程序时删除钥匙串项
我正在使用idandersen的scifihifi-iphone代码作为钥匙串并使用以下代码保存密码 [SFHFKeychainUtils storeUsername:@"User" andPassword:@"123" forServiceName:@"TestService" updateExisting:YES error:&error]; 当我从设备上删除应用程序时,密码保留在钥匙串中。 当用户从设备中删除应用程序时,我想从钥匙串中删除密码。我怎样才能做到这一点?

16
Xcode 4-在新的Macintosh安装上的配置文件上出现“找不到有效的签名身份”错误
我有一台用于使用XCode 4开发iPhone应用程序的Macintosh。我现在有一台新的Macintosh,其中安装了...所有内容。 当打开在旧Mac上构建的Xcode项目时,我无法在配置为开发iPhone的iPhone上运行该应用程序。 Xcode 4组织者在我的配置文件中告诉我“未找到有效的签名身份”。 我猜想这与以前在旧Mac上生成的.certSigningRequest文件有关(我有该文件的备份),但是在新Mac上与该文件有什么关系? 另一个奇怪的事情是,即使刷新后并输入了我的配置门户的登录名和密码,我也看不到管理器中的5个现有的配置文件(在Apple设置门户中定义):

13
钥匙串上的分发证书中缺少私钥
我遇到以下问题,但找不到任何地方的解决方案。基本上,我们有一个公司开发人员帐户(而非企业帐户),因此为了提交我们的应用程序,我要求我们的团队负责人向我发送分发证书,并创建并向我发送分发设置配置文件。 使用开发人员配置文件,一切正常,但是当我安装证书和配置文件时,我没有在Xcode上看到分发配置文件,并且在钥匙串的dist证书下也没有私钥。 有谁知道如何解决这个问题?我在diff地方读到,我需要吊销证书并创建一个新证书,但是由于公司中有很多应用程序,所以我不能真正做到这一点,并且我不能为所有人吊销证书。
170 ios  iphone  xcode  keychain  codesign 

20
SecItemAdd和SecItemCopyMatching返回错误代码-34018(errSecMissingEntitlement)
有时,当我从Xcode在设备上运行应用程序时,我会尝试访问钥匙串,但由于错误-34018而失败。这与任何已记录的钥匙串错误代码均不匹配,因此无法一致地复制。(可能是30%的时间,但我不清楚为什么会发生)。使调试此问题非常困难的原因是完全缺少文档。知道是什么原因造成的,以及如何解决?我正在使用Xcode 5并在设备上运行iOS 7.0.4。 这里有一个关于此的公开问题:https : //github.com/soffes/sskeychain/issues/52 编辑:为每个请求添加钥匙串访问代码 我正在使用该SSKeychain库与钥匙串接口。这是代码段。 #define SERVICE @"default" @implementation SSKeychain (EXT) + (void)setValue:(NSString *)value forKey:(NSString *)key { NSError *error = nil; BOOL success = NO; if (value) { success = [self setPassword:value forService:SERVICE account:key error:&error]; } else { success = [self deletePasswordForService:SERVICE account:key error:&error]; } NSAssert(success, @"Unable …

4
是什么使钥匙串物品与众不同(在iOS中)?
我的问题涉及iOS(iPhone,iPad等)中的钥匙串。我认为(但不确定)在Mac OS X下实施钥匙串会引起同样的问题,且答案相同。 iOS提供了五种类型(类)的钥匙串项目。您必须为该键选择这五个值之一kSecClass来确定类型: 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) 看完苹果的文档,博客和论坛条目的很长一段时间,我发现这种类型的钥匙串项目kSecClassGenericPassword从属性得到它的独特性kSecAttrAccessGroup,kSecAttrAccount和kSecAttrService。 如果请求1中的这三个属性与请求2中的相同,则无论其他任何属性如何,您都会收到相同的通用密码钥匙串项。如果此属性中的一个(或两个或所有)更改其值,那么您将获得不同的项目。 但是kSecAttrService仅适用于类型的项目kSecClassGenericPassword,因此它不能成为任何其他类型的项目的“唯一键”的一部分,并且似乎没有文档明确指出哪些属性唯一地确定了钥匙串项目。 “ GenericKeychain”的“ KeychainItemWrapper”类中的示例代码使用该属性kSecAttrGeneric使一个项目唯一,但这是一个错误。在本示例中,这两个条目仅存储为两个不同的条目,因为它们kSecAttrAccessGroup是不同的(一个设置了访问组,另一个设置了访问组)。如果您尝试使用Apple的添加不带访问组的第二个密码KeychainItemWrapper,则将失败。 所以,请回答我的问题: 这是真的,那的组合kSecAttrAccessGroup,kSecAttrAccount并且kSecAttrService是一个钥匙串项目,其kSecClass是“唯一钥匙” kSecClassGenericPassword? …

11
未安装分发证书/私钥
使用Xcode 9.1,在构建iOS应用后,我想将其存档并上传到appStore进行Beta测试。但是在单击按钮Upload to the App Store...并选择后,出现以下问题Automatically manage signing: “我的名字”具有一个iOS分发证书,但未安装其私钥。 我不知道为什么未安装此“私钥”,但是分发证书可能是在另一台计算机上创建的。任何状况之下: 检索丢失的私钥并进行安装的最简单方法是什么?为了使事情起作用。


3
如何获得证书签名请求
如何获得证书签名请求?我要做的就是让我的应用程序在ipod touch上运行。这很容易,因为我可以去IOS开发门户并下载一个,没有麻烦。但是现在他们要我创建CSR来创建配置文件,而我不知道如何。在两个多小时的时间里,我一直在钥匙串访问和在线文档中闲逛,但我仍然完全迷失了方向。 我什至不知道为什么以前没有我现在需要一个。在最近从Snow Leopard切换到Mountain Lion之前,我有一个配置文件,但是现在不接受了。是的,我仍然在同一台计算机上。

7
将自签名证书添加到iPhone Simulator?
我在API的端点处有一个自签名证书。我正在尝试使用模拟器测试某些东西,但正在获取“不受信任的服务器证书”。 我尝试在模拟器上使用Safari浏览器下载.crt文件,但这似乎不起作用。 iPhone模拟器从哪里获得钥匙串?如何添加受信任的证书,以便我的应用程序可以运行? 更新 我通过创建CA,然后使用iPhone供应工具添加CA证书来使其工作。然后,我可以在API服务器上获得由该CA证书签名的证书,并且NSConnection可以正常工作。由于某种原因,我无法使用自签名证书来使其正常工作。我需要使用预配置软件重新尝试。 我真正的问题是如何在模拟器上使用它?我认为模拟器使用实际计算机的钥匙串。

4
iOS KeyChain无法从后台获取值
我目前在iOS KeyChain中存储用户名(电子邮件)以及电子邮件和密码的盐化哈希。我使用的是这里找到的ARC'ified版本。 KeychainItemWrapper *wrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@"MyCustomIdentifier" accessGroup:nil]; [wrapper setObject:APP_NAME forKey:(__bridge id)kSecAttrService]; [wrapper setObject:email forKey:(__bridge id)kSecAttrAccount]; [wrapper setObject:token forKey:(__bridge id)kSecValueData]; 当我需要在应用程序处于活动状态时为网络调用提取令牌时,一切都很好。它适用于从干净启动启动的登录以及整个网络中的所有网络调用。当应用程序在后台运行时,麻烦就开始了。 请记住,这只是偶尔发生,我还没有将其固定到特定的iOS版本或设备。 用户跳到一个位置(区域监视),我想用其状态更新服务器。我尝试将令牌从钥匙串中拔出,就像我对其他每个网络呼叫所做的一样,并更新状态。但是对于某些用户,该值为nil。没有它,我将无法更新网络内容。为什么这对大多数人有用,但对少数人却无效? KeychainItemWrapper *wrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@"MyCustomIdentifier" accessGroup:nil]; NSString *token = [wrapper objectForKey:(__bridge id)kSecValueData]; 我回到了非ARC版本的keychainwrapper,但是我仍然得到相同的结果。我对此表示感谢。这只是我用户的一小部分,但这是我要解决的问题,不用担心。提前致谢。 另外,我所有的后台工作都在backgroundTask中进行设置,以防止事情超时。我在钥匙串周围的工作上没有任何问题,但是在我的令牌填满之前,我不会让事情继续进行。 编辑 我发现我的问题是他们的钥匙串没有从后台获取值。我将在下面发布答案并接受它,因为我觉得这个问题以后可能对其他人有价值。

4
Android上是否有与iOS的钥匙串等效的用户凭证?
在Android上有与iOS的钥匙串等效的功能吗? 我对Preferences API的理解是未加密。对于我的应用程序来说,这些凭据是否可以在设备之间持久(例如,与Android中类似iPhone的Keychain不同的用例?)无关紧要 我还查看了KeyStore API,但似乎将用户凭据的实际存储留给了应用程序开发人员。
72 android  keychain 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.