diff options
author | Dennis Gilmore <dennis@ausil.us> | 2008-03-30 23:01:39 -0500 |
---|---|---|
committer | Dennis Gilmore <dennis@ausil.us> | 2008-03-30 23:01:39 -0500 |
commit | e8f8f671e9a95aa3daa42a6a6d8793c070edcea7 (patch) | |
tree | d78f854f934f4d576f0fac9b3c3b659132b5883c /src/fedora-cvs.py | |
parent | 5f3c53e6d27b1f7afbd748626f9ff544a95ffdf9 (diff) | |
download | fedpkg-e8f8f671e9a95aa3daa42a6a6d8793c070edcea7.tar.gz fedpkg-e8f8f671e9a95aa3daa42a6a6d8793c070edcea7.tar.xz fedpkg-e8f8f671e9a95aa3daa42a6a6d8793c070edcea7.zip |
Version 0.3.0
We now use pyOpenSSL to get username and check that the cert is valid
Diffstat (limited to 'src/fedora-cvs.py')
-rwxr-xr-x | src/fedora-cvs.py | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/fedora-cvs.py b/src/fedora-cvs.py index 3ca9bb8..956ecc8 100755 --- a/src/fedora-cvs.py +++ b/src/fedora-cvs.py @@ -4,6 +4,7 @@ import os import string import sys import commands +from OpenSSL import crypto def readUser(): ''' sample line "Subject: C=US, ST=North Carolina, O=Fedora Project, OU=Dennis Gilmore, CN=ausil/emailAddress=dennis@ausil.us" ''' @@ -14,14 +15,14 @@ def readUser(): print "!!! cannot read your ~/.fedora.cert file !!!" print "!!! Ensure the file is readable and try again !!!" os.exit(1) - for certLine in userCert.split("\n"): - if not len(certLine): - continue - stripCertLine = certLine.strip() - if stripCertLine.startswith("Subject: "): - subjectLine = certLine.split("CN=") - name = subjectLine[1].split("/") - return name[0] + myCert = crypto.load_certificate(1, userCert) + if myCert.has_expired(): + print "Certificate expired please get a new one" + sys.exit(1) + subject = str(myCert.get_subject()) + subjectLine = subject.split("CN=") + name = subjectLine[1].split("/") + return name[0] def cvsco(user, module): |