From a4ed83cb6271eb6f588f08c2c5e6e233b9777646 Mon Sep 17 00:00:00 2001 From: kevgliss Date: Thu, 23 Jul 2015 08:52:30 -0700 Subject: [PATCH] Refactoring out challenge --- lemur/auth/views.py | 5 +++-- lemur/certificates/service.py | 13 ------------- lemur/common/utils.py | 13 +++++++++++++ 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/lemur/auth/views.py b/lemur/auth/views.py index 796b42d5..1ecbdeba 100644 --- a/lemur/auth/views.py +++ b/lemur/auth/views.py @@ -14,9 +14,10 @@ from flask import g, Blueprint, current_app from flask.ext.restful import reqparse, Resource, Api from flask.ext.principal import Identity, identity_changed +from lemur.common.utils import get_psuedo_random_string + from lemur.users import service as user_service from lemur.roles import service as role_service -from lemur.certificates import service as cert_service from lemur.auth.service import create_token, fetch_token_header, get_rsa_public_key @@ -202,7 +203,7 @@ class Ping(Resource): user = user_service.create( profile['email'], - cert_service.create_challenge(), + get_psuedo_random_string(), profile['email'], True, profile.get('thumbnailPhotoUrl'), diff --git a/lemur/certificates/service.py b/lemur/certificates/service.py index 75159189..4ba00e0a 100644 --- a/lemur/certificates/service.py +++ b/lemur/certificates/service.py @@ -105,7 +105,6 @@ def mint(issuer_options): csr, private_key = create_csr(issuer_options) - issuer_options['challenge'] = create_challenge() # TODO deprecate issuer_options['creator'] = g.user.email cert_body, cert_chain = issuer.create_certificate(csr, issuer_options) @@ -354,18 +353,6 @@ def create_csr(csr_config): return csr, pem -# TODO deprecate -def create_challenge(): - """ - Create a random and strongish csr challenge. - """ - challenge = ''.join(random.choice(string.ascii_uppercase) for x in range(6)) # noqa - challenge += ''.join(random.choice("~!@#$%^&*()_+") for x in range(6)) # noqa - challenge += ''.join(random.choice(string.ascii_lowercase) for x in range(6)) - challenge += ''.join(random.choice(string.digits) for x in range(6)) # noqa - return challenge - - def stats(**kwargs): """ Helper that defines some useful statistics about certifications. diff --git a/lemur/common/utils.py b/lemur/common/utils.py index e776e513..8380c579 100644 --- a/lemur/common/utils.py +++ b/lemur/common/utils.py @@ -6,6 +6,8 @@ .. moduleauthor:: Kevin Glisson """ +import string +import random from functools import wraps from flask import current_app @@ -15,6 +17,17 @@ from flask.ext.restful.reqparse import RequestParser from flask.ext.sqlalchemy import Pagination +def get_psuedo_random_string(): + """ + Create a random and strongish challenge. + """ + challenge = ''.join(random.choice(string.ascii_uppercase) for x in range(6)) # noqa + challenge += ''.join(random.choice("~!@#$%^&*()_+") for x in range(6)) # noqa + challenge += ''.join(random.choice(string.ascii_lowercase) for x in range(6)) + challenge += ''.join(random.choice(string.digits) for x in range(6)) # noqa + return challenge + + class marshal_items(object): def __init__(self, fields, envelope=None): self.fields = fields