iOS 13 的 CryptoKit 框架.rawRepresentation
为 ECDSA 公钥和私钥提供了一个值。我一直在尝试对rawRepresentation
数据类型进行逆向工程以在它和 JWK 之间进行转换。从公钥表示的 64 字节长度来看,这似乎是一个简单的x || y
串联。我猜想私钥会是x || y || d
,但情况似乎并非如此,因为这样做应该会产生一个 96 字节的字符串,而实际rawRepresentation
是144 字节。它似乎也不是有效的 DER/ASN.1 字符串。我还没有找到与我得到的实际值一致的规范。
正如您可能猜到的,Apple 的文档非常具有描述性。
rawRepresentation
:将私钥表示为字节集合。
提供了一个十六进制的示例密钥对。
Private: 988f8187ff7f00007466815b0d6b02ae1a063198fd1e4923fb1e413195126cc00d30483284186b435726c0c69cc774274ea32eb6a17cbaf2ea88dd7f3a5a2a3ce637bc4b96523c2795035bd2fbeb093b010000000000000000000000000000000000000000000000000000000000000012b2b61abe8beae5aeb6d0bda739235364de96c7f498813cfb0336198dcf9063
Public: 2774c79cc6c02657436b18843248300dc06c129531411efb23491efd9831061a3b09ebfbd25b0395273c52964bbc37e63c2a5a3a7fdd88eaf2ba7ca1b62ea34e
这可能是什么格式?