我正在阅读有关iOS中应用程序代码签名的信息,但我不明白为什么私钥和公钥都在一起?用 private 签名应用程序时, public 密钥和证书有什么用?
Xcode在注册期间使用您的数字身份对您的应用程序进行签名
构建过程。该数字身份由一个 public - private 密钥组成
对和证书。私钥由密码使用
函数来生成签名。证书由颁发
苹果;它包含公钥,并标识您为该所有者
密钥对。
最佳答案
让我们总结一下过程:
您可以使用私钥为应用程序的可执行文件的哈希摘要(如md5或sha-1)加密。那就是“签署”。
您的用户使用您的 public 密钥(因为它是 public 的,所以拥有它)解密并针对可执行文件进行检查。只要您的私钥保持私密,它就是您“签名”的密钥。这就是所谓的“验证”。
那么数字身份呢:
您的公开密钥本身不是公开的,它必须是,以某种方式共享,“公开”,并且也由证书认证机构(Certification Autority,以下称为CA)签名(这是CA用其加密它或它的哈希的CA) ,这是他们神奇的神秘私钥之一),这确保了共享过程不会被中间人篡改。
因此,公钥和证书(CA签名-CA对您的公钥进行加密)可以识别您(因此被视为“数字身份”的一部分),并且必须以某种方式(通过嵌入到可执行文件中的第三方)到达最终用户命名方式)
关于iphone - 数字身份等于公钥+私钥吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9539019/