草庐IT

iphone - 在 canAuthenticateAgainstProtectionSpace 中检查公钥

有人要求我根据canAuthenticateAgainstProtectionSpace中的已知值检查公钥(NSURLConnection的委托(delegate)回调)这是我目前所拥有的:-(BOOL)connection:(NSURLConnection*)connectioncanAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace*)protectionSpace{SecKeyRefpublicKey=SecTrustCopyPublicKey([protectionSpaceserverTrust]);NSLog(@

iphone - 从 key 链中的 key 对中提取公钥

问题:检索公钥对于iPhone应用程序,我需要创建一个rsakey对,将其存储在key链中并检索公钥。幸运的是,Apple发布了一个CryptoExercise可以找到我需要的一切的示例(类SecKeyWrapper,函数generateKeyPair和getPublicKeyBits)。但是在尝试使用这些函数之后,对于不同的key对,我的公钥总是得到相同的输出(而不是不同的key对的不同的公钥位)。我的generateKeyPair和getPublicKeyBits函数的实现:我首先通过调用generateKeyPairWithKeySizeInBits创建key对(这似乎工作正常)

iOS SecItemCopyMatching RSA 公钥格式?

我正在尝试从已生成的key对(两个SecKeyRef)中提取一个1024位RSA公钥,以便通过网络发送它。我只需要一个普通的(modulus,exponent)对,它应该正好占用131个字节(128个用于模数,3个用于指数)。但是,当我将key信息作为NSData对象获取时,我得到的是140位而不是131位。这是一个示例结果:在重试key生成几次并比较生成的NSData对象后,所有key保持相同的字节是前7个字节:最后三个字节看起来像指数(65537,一个常见的值)。“模数”和指数之间也有两个字节:有更多加密经验的人可以帮助我识别这是什么编码吗?德尔?如何正确解码模数和指数?我尝试使用

ios - 在 iOS 中使用公钥验证数字签名

如何在不使用任何第三方代码(例如)打开SSL的情况下在iOS中使用公钥验证数字签名?我需要使用公钥验证iOS应用程序中的数字签名。谁能帮助我如何在不使用第三方软件的情况下实现这一目标。我正在尝试下面的代码,但问题是我的应用程序中没有证书,因此无法创建SecTrustRef。代码:NSString*certPath=[[NSBundlemainBundle]pathForResource:@"yyy"ofType:@"xxx"];SecCertificateRefmyCertificate=nil;NSData*certificateData=[[NSDataalloc]initWith

ios - Apple Wallet NFC 加密公钥

在Apple'sdocumentationforthekeysavailableforaWalletpass,有一个用于NFC相关数据的字典选项。我了解使用此key需要Apple的特别许可。不管...消息很简单——它是传递给NFC终端的数据(通常是客户的唯一标识符)。但是,encryptionPublicKey让我感到困惑。Apple声明它是增值服务协议(protocol)使用的公共(public)加密key。使用Base64编码的X.509SubjectPublicKeyInfo结构,其中包含组P256的ECDH公共(public)key。谁能解释这第二句话的意思和/或开发人员必须做

ios - 从模数和指数生成 RSA 公钥

我希望从Objective-C中的模数和指数生成一个rsa公钥(pem)。这个功能可以在Java中通过以下方式完成;PublicKeypublicKey=KeyFactory.getInstance("RSA").generatePublic(newRSAPublicKeySpec(modulus,exponent));尽管我在为iOS平台编写此代码时遇到了一些问题。我知道OpenSSL,但我找不到成功的方法,仍然无法生成此key。还查看了SCZ-BasicEncodingRules-iOS但这会返回一个NSData值,我一直在尝试弄清楚如何尝试将它转换为NSString。

objective-c - 证书、配置文件、公钥/私钥揭秘

这个话题一直困扰着我。我想我会写出我目前的理解,并希望找出我对的事情/我错的事情。创建开发证书时,有一个公钥和私钥的概念。通过供应门户可用的证书持有公钥,而您的私钥存储在您的钥匙串(keychain)中。为了对您的应用程序进行代码签名,您必须同时拥有两者。为了运行一个应用程序,设备必须有一个供应配置文件,它基本上保存了一个应用程序标识符、一组公认的证书(应用程序必须由这些证书之一签名)和一组设备标识符(指示允许哪些设备运行该应用程序)。“认可的证书”引用了公钥,而私钥基本上由应用传递。因此,对于AppStore,我们可以将普通设备视为带有默认prov配置文件,该配置文件已经具有苹果的“

iPhone:如何将包含公钥位的 SecKeyRef 或 NSData 导出为 PEM 格式?

我使用SecKeyGeneratePair创建了一对key。我现在想将公钥传递给服务器,但我不确定如何进行。我有一个函数getPublicKeyBits(取自Apple的CryptoExercise),但我真的不知道如何处理原始NSData。这是函数:-(NSData*)getPublicKeyBits{OSStatussanityCheck=noErr;NSData*publicKeyBits=nil;NSData*publicTag=[[NSDataalloc]initWithBytes:publicKeyIdentifierlength:sizeof(publicKeyIdent

iphone - 从 key 链中的 key 对中提取公钥

问题:检索公钥对于iPhone应用程序,我需要创建一个rsakey对,将其存储在key链中并检索公钥。幸运的是,Apple发布了一个CryptoExercise可以找到我需要的一切的示例(类SecKeyWrapper,函数generateKeyPair和getPublicKeyBits)。但是在尝试使用这些函数之后,对于不同的key对,我的公钥总是得到相同的输出(而不是不同的key对的不同的公钥位)。我的generateKeyPair和getPublicKeyBits函数的实现:我首先通过调用generateKeyPairWithKeySizeInBits创建key对(这似乎工作正常)

ios - 证书固定 - 仅限公钥?

我想将根CA(verisign-http://www.verisign.com/repository/roots/root-certificates/PCA-3G5.pem)的公钥固定到我的iOS应用程序中。固定公钥或subjectPublicKeyInfo哪个更好?谁能解释一下哪种方法更好,为什么? 最佳答案 我认为最好固定主题的公钥而不是根的CA公钥。以下是我对固定CA的根pkey的不同权衡的理解:好的只要您保留同一个CA,您就可以一次又一次地更新您的证书,并且它将始终有效。坏的我相信你会稍微更容易受到MITM攻击,固定根CA的