Java转Python:x509 / dsa / sha1withdsa加密怎么做?
我有一段Java代码,想把它转换成Python,但我不太确定该怎么做:
import java.security.spec.X509EncodedKeySpec;
import java.security.KeyFactory;
import java.security.PublicKey;
import java.security.Signature;
byte[] key = KeyReader.read(filestream)
//KeyReader.read(inputstream) just reads in the bytes 1 at a time from the filestream
X509EncodedKeySpec pubKey = new X509EncodedKeySpec(key);
KeyFactory keyFactory = KeyFactory.getInstance("DSA");
PublicKey pub = keyFactory.generatePublic(pubKey);
Signature signature = Signature.getInstance("SHA1withDSA");
signature.initVerify(pub)
signature.update(a_byte_string) //doesn't matter
我对怎么在Python中实现这个有点迷茫,特别是SHA1withDSA这一部分。我对Python的加密库(具体来说是m2crypto)了解得不够多,所以不知道怎么对应这些函数(而且我也找不到什么好的教程来帮助我)。
1 个回答
1
我不太明白这段Java代码,不过你是不是想要做这个呢?
from M2Crypto import X509
x509 = X509.load_cert(filename)
assert x509.verify() == 1