From 258b05bae4a6265b4e7835bb132aafd2c7c6a972 Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Fri, 5 Oct 2007 05:01:06 +0000 Subject: PKCS #10 generation svn path=/pow/POW-0.7/lib/pkix.py; revision=1096 --- pow/POW-0.7/lib/pkix.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'pow/POW-0.7/lib') diff --git a/pow/POW-0.7/lib/pkix.py b/pow/POW-0.7/lib/pkix.py index 41e50473..6262ed60 100755 --- a/pow/POW-0.7/lib/pkix.py +++ b/pow/POW-0.7/lib/pkix.py @@ -1228,6 +1228,14 @@ class CertificationRequest(Sequence): contents = [ self.certificationRequestInfo, self.signatureAlgorithm, self.signatureValue ] Sequence.__init__(self, contents, optional, default) + def sign(self, rsa, digestType): + driver = getCryptoDriver() + oid = driver.getOID(digestType) + self.certificationRequestInfo.subjectPublicKeyInfo.fromString(driver.toPublicDER(rsa)) + signedText = driver.sign(rsa, oid, self.certificationRequestInfo.toString()) + self.signatureAlgorithm.set([oid, None]) + self.signatureValue.set(signedText) + def verify(self): driver = getCryptoDriver() oid = self.signatureAlgorithm.get()[0] @@ -1250,6 +1258,9 @@ class CertificationRequest(Sequence): return x return None + def setExtensions(self, exts): + self.certificationRequestInfo.attributes.val.choices["set"][0].set(exts) + #---------- PKCS10 ----------# #---------- GeneralNames object support ----------# class OtherName(Sequence): @@ -2045,5 +2056,3 @@ class Extension(Sequence): return (oid, critical, ()) return (oid, critical, value) - - -- cgit v1.2.3