Python加密模块 - valueerror:ED25519私钥为32字节长
我正在使用GO语言脚本来生成私钥和公共密钥。该算法使用ED25519。当我使用Python加密模块读取私钥时,我将收到以下错误。
>>> import cryptography.hazmat.primitives.asymmetric.ed25519 as ed25519
>>> pk = ed25519.Ed25519PrivateKey.from_private_bytes(open('private.key', 'rb').read())
>>> pk
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/var/folders/yy/..../T/ipykernel_15095/3709883678.py in <module>
1 import cryptography.hazmat.primitives.asymmetric.ed25519 as ed25519
2
----> 3 pk = ed25519.Ed25519PrivateKey.from_private_bytes(open('private.key', 'rb').read())
4
5 pk
.../lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py in from_private_bytes(cls, data)
67 )
68
---> 69 return backend.ed25519_load_private_bytes(data)
70
71 @abc.abstractmethod
.../lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/backend.py in ed25519_load_private_bytes(self, data)
1858 def ed25519_load_private_bytes(self, data):
1859 if len(data) != ed25519._ED25519_KEY_SIZE:
-> 1860 raise ValueError("An Ed25519 private key is 32 bytes long")
1861
1862 utils._check_byteslike("data", data)
ValueError: An Ed25519 private key is 32 bytes long
I am using a GO Language script to generate private and public keys. This algorithm uses Ed25519. When I am reading the private keys using python crypto module I am receiving following error.
>>> import cryptography.hazmat.primitives.asymmetric.ed25519 as ed25519
>>> pk = ed25519.Ed25519PrivateKey.from_private_bytes(open('private.key', 'rb').read())
>>> pk
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/var/folders/yy/..../T/ipykernel_15095/3709883678.py in <module>
1 import cryptography.hazmat.primitives.asymmetric.ed25519 as ed25519
2
----> 3 pk = ed25519.Ed25519PrivateKey.from_private_bytes(open('private.key', 'rb').read())
4
5 pk
.../lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py in from_private_bytes(cls, data)
67 )
68
---> 69 return backend.ed25519_load_private_bytes(data)
70
71 @abc.abstractmethod
.../lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/backend.py in ed25519_load_private_bytes(self, data)
1858 def ed25519_load_private_bytes(self, data):
1859 if len(data) != ed25519._ED25519_KEY_SIZE:
-> 1860 raise ValueError("An Ed25519 private key is 32 bytes long")
1861
1862 utils._check_byteslike("data", data)
ValueError: An Ed25519 private key is 32 bytes long
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
以下解决方案是根据我的预期产生结果
The following solution is generating results as expected for me