Tag: cloudkit

在给定私钥和消息的情况下,不确定如何生成ECDSA签名

我正在按照Apple的指南撰写CloudKit Web服务请求。 我遇到问题的是第2步,在“validationWeb服务请求”下: 使用您的私钥计算此消息的ECDSA签名。 在达到这一点之前,我生成了我的证书,一个.pem文件,当在文本编辑器中打开它时显示我的私钥,所以我也有字符串格式。 我还遵循了生成它所指的消息的步骤,我现在将其作为字符串。 因此,假设我有一个私钥(或者.pem文件,如果需要的话),以及一个消息作为字符串,理论上我应该很容易获得使用我的私钥计算的消息的ECDSA签名。 但这就是我在努力的地方。 我在网上找到的图书馆似乎采用了一种更为复杂的方法,包括不同的移动部件,没有引用.pem文件以及关于生成新的公钥/私钥的讨论。 任何有关此步骤的帮助将不胜感激。

调用服务器到服务器CloudKit Web服务时的授权错误

我正在尝试实施与CloudKit Web服务的一些基本集成, 遵循Apple的身份validation请求指南 。 我已经从这个以及关于如何正确授权请求的问题中得到了一些帮助,并且似乎正确地遵循了所有步骤,但我仍然从Apple获得了401 AUTHENTICATION_FAILED错误。 我定位的端点是一个POST端点,用于在给定记录名称的情况下检索记录。 我已经在我的代码中添加了注释,以显示我在不同阶段获得的输出,并且我使用了替代证书,因此我没有提供我的正版私钥: def self.signature(parameters, date, image_id) #date: 2016-08-14T14:32:20Z #parameters: {“records”:[{“recordName”:”7DBC4FAD-D18C-476A-89FB-14A515098F34″}]} encoded_parameters = Digest::SHA256.base64digest(parameters) #encoded_parameters: 6gmJ4AvmJgkNY4SJm6ImOxZaZ07J7cih/tRXI0zkRjQ= url_subpath = CloudKit.url_subpath #url_subpath: /database/1/iCloud.ProjectDent.TwIM/development/public/records/lookup message = date + ‘:’ + encoded_parameters + ‘:’ + url_subpath #message: 2016-08-14T14:23:35Z:6gmJ4AvmJgkNY4SJm6ImOxZaZ07J7cih/tRXI0zkRjQ=:/database/1/iCloud.ProjectDent.TwIM/development/public/records/lookup private_key = OpenSSL::PKey.read(File.read(‘altkey.pem’)) signature = private_key.dsa_sign_asn1(OpenSSL::Digest::SHA256.digest(message)) #signature: -? WX?xfc???ɔ???,?Ț?Փv?3+Xt!?$R?_Y?×*?,?3??Z-\#?ŭ?Ƿh encoded_signature = Base64.strict_encode64(signature) #encoded_signature: MEUCIFdYlHhmrxoIY8KW1tT6yZT17bYsP8ia09WTdpEzK1h0AiEA0yRSh39fWYHDlyqJLNgzhr9aLVwj2cWtkse3aA0tGZI= return encoded_signature […]