コード例 #1
0
 def _get_or_create_user(self, number):
     srp_auth = SRPAuth(LEAP_SERVER_HOST, os.path.expanduser(LEAP_VERIFY_CERTIFICATE))
     username, password = ('loadtest%d' % number), ('password_%d' % number)
     try:
         srp_auth.authenticate(username, password)
     except SRPAuthenticationError:
         invite_code = load_invite_from_number(number) if INVITES_ENABLED else None
         srp_auth.register(username, password, invite_code)
     return username, password
コード例 #2
0
def register_new_user(username, server_name):
    config = LeapConfig()
    provider = LeapProvider(server_name, config)
    password = getpass.getpass('Please enter password for %s: ' % username)
    srp_auth = SRPAuth(provider.api_uri, provider.local_ca_crt)
    srp_auth.register(username, password)

    session = LeapSession.open(username, password, server_name)
    session.nicknym.generate_openpgp_key()
コード例 #3
0
    def _get_or_create_user(self, number):
        srp_auth = SRPAuth(LEAP_SERVER_HOST,
                           os.path.expanduser(LEAP_VERIFY_CERTIFICATE))
        username, password = ('loadtest%d' % number), ('password_%d' % number)
        try:
            srp_auth.authenticate(username, password)
        except SRPAuthenticationError:
            invite_code = None
            if INVITES_ENABLED:
                invite_code = load_invite_from_number(number)

            srp_auth.register(username, password, invite_code)
        return username, password
コード例 #4
0
def register(
        server_name,
        username,
        password,
        leap_home,
        provider_cert,
        provider_cert_fingerprint):

    try:
        validate_username(username)
    except ValueError:
        print('Only lowercase letters, digits, . - and _ allowed.')

    if not password:
        password = getpass.getpass('Please enter password for %s: ' % username)

    LeapCertificate.set_cert_and_fingerprint(provider_cert, provider_cert_fingerprint)
    config = LeapConfig(leap_home=leap_home)
    provider = LeapProvider(server_name, config)
    LeapCertificate(provider).setup_ca_bundle()
    srp_auth = SRPAuth(provider.api_uri, LeapCertificate(provider).provider_api_cert)

    if srp_auth.register(username, password):
        LeapSessionFactory(provider).create(username, password)
    else:
        logger.error("Register failed")
コード例 #5
0
class User(object):
    def __init__(self, number, provider, certificate):
        self._username = '******' % number
        self._password = '******' % number
        self._set_srp_auth(provider, certificate)

    def _set_srp_auth(self, leap_provider, certificate):
        leap_api_server = 'https://api.%s:4430' % leap_provider
        self._srp_auth = SRPAuth(leap_api_server, certificate)

    def get_or_create_user(self, invite_code=None):
        try:
            self.authenticate()
        except SRPAuthenticationError:
            self.register(invite_code)
        return self._username, self._password

    def authenticate(self):
        self._srp_auth.authenticate(self._username, self._password)

    def register(self, invite_code=None):
        self._srp_auth.register(self._username, self._password, invite_code)
コード例 #6
0
def register(server_name, username, password, leap_home, provider_cert,
             provider_cert_fingerprint):

    try:
        validate_username(username)
    except ValueError:
        print('Only lowercase letters, digits, . - and _ allowed.')

    if not password:
        password = getpass.getpass('Please enter password for %s: ' % username)

    LeapCertificate.set_cert_and_fingerprint(provider_cert,
                                             provider_cert_fingerprint)
    config = LeapConfig(leap_home=leap_home)
    provider = LeapProvider(server_name, config)
    LeapCertificate(provider).setup_ca_bundle()
    srp_auth = SRPAuth(provider.api_uri,
                       LeapCertificate(provider).provider_api_cert)

    if srp_auth.register(username, password):
        LeapSessionFactory(provider).create(username, password)
    else:
        logger.error("Register failed")
コード例 #7
0
        validate_username(username)
        validate_password(password)
    except ValueError, e:
        print(e.message)
        sys.exit(1)

    events_server.ensure_server()
    LeapCertificate.set_cert_and_fingerprint(provider_cert,
                                             provider_cert_fingerprint)
    config = LeapConfig(leap_home=leap_home)
    provider = LeapProvider(server_name, config)
    LeapCertificate(provider).setup_ca_bundle()
    srp_auth = SRPAuth(provider.api_uri,
                       LeapCertificate(provider).provider_api_cert)

    if srp_auth.register(username, password):
        LeapSessionFactory(provider).create(username, password)
    else:
        logger.error("Register failed")


def validate_username(username):
    accepted_characters = '^[a-z0-9\-\_\.]*$'
    if (not re.match(accepted_characters, username)):
        raise ValueError('Only lowercase letters, digits, . - and _ allowed.')


def validate_password(password):
    if len(password) < 8:
        raise ValueError('The password must have at least 8 characters')
コード例 #8
0
    try:
        validate_username(username)
        validate_password(password)
    except ValueError, e:
        print(e.message)
        sys.exit(1)

    events_server.ensure_server()
    LeapCertificate.set_cert_and_fingerprint(provider_cert, provider_cert_fingerprint)
    config = LeapConfig(leap_home=leap_home)
    provider = LeapProvider(server_name, config)
    LeapCertificate(provider).setup_ca_bundle()
    srp_auth = SRPAuth(provider.api_uri, LeapCertificate(provider).provider_api_cert)

    if srp_auth.register(username, password):
        LeapSessionFactory(provider).create(username, password)
    else:
        logger.error("Register failed")


def validate_username(username):
    accepted_characters = '^[a-z0-9\-\_\.]*$'
    if (not re.match(accepted_characters, username)):
        raise ValueError('Only lowercase letters, digits, . - and _ allowed.')


def validate_password(password):
    if len(password) < 8:
        raise ValueError('The password must have at least 8 characters')