Преобразование Java в Python: x509 / DSA / Sha1Withdsa Crypto Howto? - PullRequest
2 голосов
/ 27 августа 2009

У меня есть следующий код 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. В частности, часть SHA1 с DSA. Я просто недостаточно знаю о крипто-библиотеках Python (точнее, m2crypto), чтобы отобразить функции (и при этом я не смог найти приличных записей о том, как это сделать).

1 Ответ

1 голос
/ 18 сентября 2009

Я не совсем понимаю код Java, но вы пытаетесь это сделать?

from M2Crypto import X509

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