在内存中生成OpenVPN静态密钥?

我知道我可以通过'openvpn –genkey –secret myfile.key'生成一个OpenVPN静态密钥。 在python中,我正在使用一个shell调用来生成一个键,打开'myfile.key'并将它读回来。如果没有shell调用就可以做得更干净。

有谁知道使用–genkey命令生成什么types​​的密钥,或者直接在Python中生成密钥的方法?

不幸的是,OpenVPN目前不提供Python API。 然而,(略)清理脚本的方法之一是直接生成密钥到stdout ,然后使用stdout返回的stdout

 openvpn --genkey --secret /dev/stdout 

也就是说,

 from subprocess import Popen, PIPE proc = Popen("openvpn --genkey --secret /dev/stdout", shell=True, stdout=PIPE) (stdout, stderr) = proc.communicate() 

据我所知,即使使用TLS PRF函数生成密钥,也没有“其他”方法来生成密钥。