我尝试在 iOS 平台上调用 user-api-key/new 后,通过解密有效负载来获取第三方登录所需的 User-Api-Key。
问题在于:Base64 解码可以正常完成,但在实现解密时,无论是使用 SecKeyCreateDecryptedData 还是 SecKeyDecrypt 类,都会抛出错误(错误代码 -50)。需要说明的是,错误代码 -50 对应的是 sign - input buffer bad size,这通常意味着密文长度超过了密钥长度,从而导致 RSA 无法正常工作。
我尝试将本地 Discourse 实例与 iOS 平台上的加密字符串进行比对,虽然大部分字符相同,但在将加密字符串转换为 Data 对象后,其大小超过了密钥长度。我怀疑这与将 Base64 有效负载字符串解码以获取加密文本的方式有关。请问我的判断是否正确?还是我遗漏了某些关键点?