2

Python に変換しようとしている次の Java コードがありますが、これを行う方法がよくわかりません。

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)について十分に知りません(また、これを行う方法についてのまともな記事を見つけることもできませんでした)。

4

1 に答える 1

1

Javaコードを正確に理解していませんが、これはあなたがやろうとしていることですか?

from M2Crypto import X509

x509 = X509.load_cert(filename)
assert x509.verify() == 1
于 2009-09-17T23:33:45.633 に答える