2009-08-27 4 views
2

私は私のpythonに変換しようとしている次のJavaコードを持っている、と私はこれを行うにはどのように本当にわからない:私はちょっとこれを行う方法のよう迷ってしまいましたjava to python conversion:x509/dsa/sha1withdsa暗号化ハウツーですか?

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

私はJavaコードを正確に理解していませんが、これを実行しようとしていますか?

from M2Crypto import X509 

x509 = X509.load_cert(filename) 
assert x509.verify() == 1