2016-09-21 49 views
0

我正在寻找将使用密码模块生成的EC密钥转换为各自的OpenSSH字符串。像将Python密码学EC密钥转换为OpenSSH格式

ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAhANiNlmyHtBUgaPXG+CtCVK8mQxBUtDjX3/nqqPZAHhduAAAAIE/JNDqLTeq9WVa5XWyU2Y7NJXfV54wakHmsP5gRNeh2 

这是我使用的EC密钥生成

from cryptography.hazmat.backends import default_backend 
from cryptography.hazmat.primitives.asymmetric import ec 
key=ec.generate_private_key(ec.SECP256R1(), default_backend()) 

我尝试以下的代码。

numbers = key.private_numbers() 
opensshpublic = 'ecdsa-sha2-nistp256' + base64.b64encode('nistp256' + numbers.public_numbers.x, numbers.public_numbers.y) 

但这似乎没有工作。

我想应该有一个简单的方法来做到这一点,但我错过了一些东西。

回答

0

加密增加了在2016年6月这样的支持,可以如下

from cryptography.hazmat.primitives import serialization 
key.public_bytes(serialization.Encoding.OpenSSH, serialization.PublicFormat.OpenSSH) 

这给那些整齐的OpenSSH公钥

相关问题