我正在写一个CNG供应商。具体来说,坚持实施NCryptExportKey
API。我正尝试从硬件密钥管理器转换EC密钥(用于签名,ECDSA256)。 h/w密钥管理器以ASN格式提供密钥。我提到了MSDN文档,它提到了公钥X和Y值(BCRYPT_ECCKEY_BLOB结构)是以big-endian格式。但在另一篇文章中,stackoverflow(Import a Public key from somewhere else to CngKey?),魔法值也似乎是big-endian格式。CNG提供程序,如何将EC密钥转换为BCRYPT_ECCKEY_BLOB结构?
我的问题是:
是 '魔法' 和 '长度' 值需要在big-endian格式?
如何将大数X转换为大端格式?转换每个字节?