summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDennis Gilmore <dennis@ausil.us>2010-01-28 21:07:57 -0600
committerDennis Gilmore <dennis@ausil.us>2010-01-28 21:07:57 -0600
commitb64f25057df73c438ca3cbcee7640a62690950d8 (patch)
tree0ebe9b5e9f591150dce4347084ae3b84fc3052d7
parent36626393682d62c094c2f7f12da53a38cddbf21a (diff)
downloadfedpkg-b64f25057df73c438ca3cbcee7640a62690950d8.tar.gz
fedpkg-b64f25057df73c438ca3cbcee7640a62690950d8.tar.xz
fedpkg-b64f25057df73c438ca3cbcee7640a62690950d8.zip
clean up the old attempt at a fedora-cert library
-rw-r--r--src/lib/fedora-cert.py104
1 files changed, 0 insertions, 104 deletions
diff --git a/src/lib/fedora-cert.py b/src/lib/fedora-cert.py
deleted file mode 100644
index 21cea9d..0000000
--- a/src/lib/fedora-cert.py
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/usr/bin/python
-import optparse
-import os
-import sys
-import getpass
-from fedora.client.fas2 import AccountSystem
-from fedora.client.fas2 import CLAError
-from fedora.client import AuthError, ServerError
-from OpenSSL import crypto
-
-def read_cert_user():
- """
- Figure out the Fedora user name from ~/.fedora.cert
-
- """
- # Make sure we can even read the thing.
- cert_file = os.path.join(os.path.expanduser('~'), ".fedora.cert")
- if not os.access(cert_file, os.R_OK):
- print "!!! cannot read your ~/.fedora.cert file !!!"
- print "!!! Ensure the file is readable and try again !!!"
- sys.exit(1)
- FILE = open(cert_file)
- my_buf = FILE.read()
- FILE.close()
- my_cert = crypto.load_certificate(crypto.FILETYPE_PEM, my_buf)
-
- subject = str(my_cert.get_subject())
- subject_line = subject.split("CN=")
- cn_parts = subject_line[1].split("/")
- username = cn_parts[0]
-
- if my_cert.has_expired():
- print "Certificate expired; Lets get a new one."
- create_user_cert(username)
-
- return username
-
-
-def create_user_cert(username):
- if not username is None:
- username = raw_input('FAS Username: ')
- password = getpass.getpass('FAS Password: ')
- try:
- fas = AccountSystem('https://admin.fedoraproject.org/', username, password)
- except AuthError:
- print "Invalid username/password."
- sys.exit(1)
-
- try:
- cert = fas.user_gencert()
- fas.logout()
- except CLAError:
- print "You must sign the CLA before you can generate your certificate.\n" \
- "To do this, go to https://admin.fedoraproject.org/accounts/cla/"
- fas.logout()
- sys.exit(1)
- cert_file = os.path.join(os.path.expanduser('~'), ".fedora.cert")
- if not os.access(cert_file, os.W_OK):
- print "Can not open cert file for writing"
- print cert
- sys.exit(1)
- else:
- FILE = open(cert_file,"w")
- FILE.write(cert)
- FILE.close()
-
-def main(opts):
- # lets read in the existing cert if it exists.
- # gets us existing acc info
- print opts
- if not opts.username:
- try:
- username = read_user_cert()
- except :
- print "Can't determine fas name, lets get a new cert"
- create_user_cert(None)
- sys.exit(0)
- else:
- username = opts.username
- #has cert expired? do we force a new cert? get a new one
- if opts.new_cert:
- print "Getting a new User Certificate"
- create_user_cert(username)
- sys.exit(0)
- if certificate_expired():
- print "Certificate has expired, getting a new one"
- create_user_cert(username)
- sys.exit(0)
- if opts.verify-cert:
- print "Verifying Certificate"
-
-
-if __name__ == '__main__':
- opt_p = optparse.OptionParser(usage="%prog [OPTIONS] ")
- opt_p.add_option('-u', '--username', action='store_true', dest='username',
- default=False, help="FAS Username.")
- opt_p.add_option('-n', '--new-cert', action='store_true', dest='newcert',
- help="Generate a new Fedora Certificate.")
- opt_p.add_option('-v', '--verify-cert', action='store_true', dest='verifycert',
- help="Verify Certificate.")
-
- opts = opt_p.parse_args()
-
- main(opts)