问题描述
我使用 DER 编码的公共 RSA 密钥发送此命令。
1234EO013082010a02820101ec7b6d6be7d0603e3f247c22dd0ae533f02f1216fd9099d6ec5c596eb92c95e8ee87e3437af53ecf9ef4ccd27b1acf28b41ff77b86d028d10c560265d8b2e61b3e57eb8a0c2593eea0815ab82871c1232b03f677342ac19c570caa8abe4f68cb35666e6fa50fef30d11ef50aadd52dd01b9c902c162e3e44b685ae4ff01802b3ce1741e5efc28f654e8fb231d06b6d028cecc51f789350bb456d9265eae82c25d987de44f747bf4312bfde87c06538ad76a6ec606f19436e67fcdb82014d3300fbd0b6bc3288d8cef6765bc82d0bb5b05b0c1f28a074003c94afd5fd5d404faf1b7ba4dc6cbd694e2fd2708b09aec36142817a1e5ee9a6d8122ff734861e54f30203010001~#N00N00
这只是标头 1234
、命令 EO
和 01
表示“ASN.1 公钥的 DER 编码(使用无符号表示的整数)”。其次是编码的 DER 本身,然后是密钥块头 ~#N00N00
。
Error 04
表示“公钥不符合编码规则”。下面是用于生成 RSA 密钥对和 DER 编码的公钥的代码:
rsa_private_key = buildrsaKeyPair()
rsa_public_key = rsa_private_key.public_key()
der = rsa_public_key.public_bytes(
encoding=serialization.Encoding.DER,format=serialization.PublicFormat.PKCS1
)
encoded = der.hex()[:16] + der.hex()[18:]
encoded
是命令中内置的内容。谁能看出我使用 Python 中的 cryptography
库得到的公钥编码有什么问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)