def test_set_cert_and_fingerprint_sets_cert(self):
        LeapCertificate.set_cert_and_fingerprint('some cert', None)

        certs = LeapCertificate(self.provider)

        self.assertIsNone(certs.LEAP_FINGERPRINT)
        self.assertEqual('some cert', certs.provider_web_cert)
    def test_set_cert_and_fingerprint_when_none_are_passed(self):
        LeapCertificate.set_cert_and_fingerprint(None, None)

        certs = LeapCertificate(self.provider)

        self.assertIsNone(certs.LEAP_FINGERPRINT)
        self.assertEqual(True, certs.provider_web_cert)
    def test_set_cert_and_fingerprint_sets_fingerprint(self):
        LeapCertificate.set_cert_and_fingerprint(None, 'fingerprint')

        certs = LeapCertificate(self.provider)

        self.assertEqual('fingerprint', LeapCertificate.LEAP_FINGERPRINT)
        self.assertFalse(certs.provider_web_cert)
    def test_set_cert_and_fingerprint_sets_cert(self):
        LeapCertificate.set_cert_and_fingerprint("some cert", None)

        certs = LeapCertificate(self.provider)

        self.assertIsNone(certs.LEAP_FINGERPRINT)
        self.assertEqual("some cert", certs.provider_web_cert)
    def test_set_cert_and_fingerprint_sets_fingerprint(self):
        LeapCertificate.set_cert_and_fingerprint(None, "fingerprint")

        certs = LeapCertificate(self.provider)

        self.assertEqual("fingerprint", LeapCertificate.LEAP_FINGERPRINT)
        self.assertFalse(certs.provider_web_cert)
    def test_set_cert_and_fingerprint_when_none_are_passed(self):
        LeapCertificate.set_cert_and_fingerprint(None, None)

        certs = LeapCertificate(self.provider)

        self.assertIsNone(certs.LEAP_FINGERPRINT)
        self.assertEqual(True, certs.provider_web_cert)
Example #7
0
def initialize_leap(leap_provider_cert,
                    leap_provider_cert_fingerprint,
                    credentials_file,
                    organization_mode,
                    leap_home,
                    initial_sync=True):
    init_monkeypatches()
    events_server.ensure_server()
    register(events.KEYMANAGER_FINISHED_KEY_GENERATION,
             set_fresh_account)
    provider, username, password = credentials.read(organization_mode,
                                                    credentials_file)
    LeapCertificate.set_cert_and_fingerprint(leap_provider_cert,
                                             leap_provider_cert_fingerprint)

    config = LeapConfig(leap_home=leap_home, start_background_jobs=True)
    provider = LeapProvider(provider, config)
    LeapCertificate(provider).setup_ca_bundle()
    leap_session = LeapSessionFactory(provider).create(username, password)

    if initial_sync:
        leap_session = yield leap_session.initial_sync()

    global fresh_account
    if fresh_account:
        add_welcome_mail(leap_session.mail_store)

    defer.returnValue(leap_session)
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")
Example #9
0
def initialize_leap_provider(provider_hostname, provider_cert, provider_fingerprint, leap_home):
    LeapCertificate.set_cert_and_fingerprint(provider_cert,
                                             provider_fingerprint)
    leap_config.set_leap_home(leap_home)
    provider = LeapProvider(provider_hostname)
    provider.setup_ca()
    provider.download_settings()
    return provider
Example #10
0
def initialize_leap_provider(provider_hostname, provider_cert,
                             provider_fingerprint, leap_home):
    LeapCertificate.set_cert_and_fingerprint(provider_cert,
                                             provider_fingerprint)
    leap_config.set_leap_home(leap_home)
    provider = LeapProvider(provider_hostname)
    provider.setup_ca()
    provider.download_settings()
    return provider
Example #11
0
def initialize_leap_provider(provider_hostname, provider_cert, provider_fingerprint, leap_home):
    LeapCertificate.set_cert_and_fingerprint(provider_cert, provider_fingerprint)

    config = LeapConfig(leap_home=leap_home, start_background_jobs=True)
    provider = LeapProvider(provider_hostname, config)
    provider.download_certificate()
    LeapCertificate(provider).setup_ca_bundle()

    return config, provider
def _set_provider(provider_cert, provider_cert_fingerprint, server_name, leap_home=None):
    if leap_home:
        leap_config.set_leap_home(leap_home)

    LeapCertificate.set_cert_and_fingerprint(provider_cert, provider_cert_fingerprint)
    provider = LeapProvider(server_name)
    provider.setup_ca()
    provider.download_settings()
    return provider
Example #13
0
def initialize_leap_provider(provider_hostname, provider_cert,
                             provider_fingerprint, leap_home):
    LeapCertificate.set_cert_and_fingerprint(provider_cert,
                                             provider_fingerprint)
    leap_config.set_leap_home(leap_home)
    provider = LeapProvider(provider_hostname)
    provider.download_certificate()
    LeapCertificate(provider).setup_ca_bundle()
    provider.download_soledad_json()
    return provider
Example #14
0
def initialize_leap_provider(provider_hostname, provider_cert,
                             provider_fingerprint, leap_home):
    LeapCertificate.set_cert_and_fingerprint(provider_cert,
                                             provider_fingerprint)

    config = LeapConfig(leap_home=leap_home, start_background_jobs=True)
    provider = LeapProvider(provider_hostname, config)
    provider.download_certificate()
    LeapCertificate(provider).setup_ca_bundle()

    return config, provider
    def test_that_leap_fingerprint_is_validated(self):
        session = MagicMock(wraps=requests.session())
        session_func = MagicMock(return_value=session)
        LeapCertificate.set_cert_and_fingerprint(None, 'some fingerprint')

        with patch('pixelated.bitmask_libraries.provider.requests.session', new=session_func):
            with HTTMock(provider_json_mock, ca_cert_mock, not_found_mock):
                provider = LeapProvider('some-provider.test', self.config)
                provider.fetch_valid_certificate()

        session.get.assert_any_call('https://some-provider.test/ca.crt', verify=False, timeout=15)
        session.mount.assert_called_with('https://', ANY)
Example #16
0
    def test_that_leap_fingerprint_is_validated(self):
        session = MagicMock(wraps=requests.session())
        session_func = MagicMock(return_value=session)
        LeapCertificate.set_cert_and_fingerprint(None, 'some fingerprint')

        with patch('pixelated.bitmask_libraries.provider.requests.session',
                   new=session_func):
            with HTTMock(provider_json_mock, ca_cert_mock, not_found_mock):
                provider = LeapProvider('some-provider.test', self.config)
                provider.fetch_valid_certificate()

        session.get.assert_any_call('https://some-provider.test/ca.crt',
                                    verify=False,
                                    timeout=15)
        session.mount.assert_called_with('https://', ANY)
Example #17
0
def initialize_leap(leap_provider_cert,
                    leap_provider_cert_fingerprint,
                    credentials_file,
                    organization_mode,
                    leap_home):
    init_monkeypatches()
    events_server.ensure_server(random.randrange(8000, 11999))
    provider, username, password = credentials.read(organization_mode, credentials_file)
    LeapCertificate.set_cert_and_fingerprint(leap_provider_cert, leap_provider_cert_fingerprint)

    config = LeapConfig(leap_home=leap_home, start_background_jobs=True)
    provider = LeapProvider(provider, config)
    LeapCertificate(provider).setup_ca_bundle()
    leap_session = LeapSessionFactory(provider).create(username, password)

    return leap_session
Example #18
0
def initialize_leap(leap_provider_cert, leap_provider_cert_fingerprint,
                    credentials_file, organization_mode, leap_home):
    init_monkeypatches()
    events_server.ensure_server()
    provider, username, password = credentials.read(organization_mode,
                                                    credentials_file)
    LeapCertificate.set_cert_and_fingerprint(leap_provider_cert,
                                             leap_provider_cert_fingerprint)

    config = LeapConfig(leap_home=leap_home, start_background_jobs=True)
    provider = LeapProvider(provider, config)
    LeapCertificate(provider).setup_ca_bundle()
    leap_session = LeapSessionFactory(provider).create(username, password)

    yield leap_session.initial_sync()

    defer.returnValue(leap_session)
Example #19
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")
Example #20
0
        leap_home,
        provider_cert,
        provider_cert_fingerprint):

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

    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.')
Example #21
0
 def setUp(self):
     self.config = LeapConfig(leap_home='/tmp/foobar')
     LeapCertificate.set_cert_and_fingerprint(PROVIDER_WEB_CERT, None)
Example #22
0
def register(server_name, username, password, leap_home, provider_cert,
             provider_cert_fingerprint):

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

    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)):
 def setUp(self):
     leap_config.leap_home = '/tmp/foobar'
     LeapCertificate.set_cert_and_fingerprint(PROVIDER_WEB_CERT, None)
 def setUp(self):
     self.config = LeapConfig(leap_home='/tmp/foobar')
     LeapCertificate.set_cert_and_fingerprint(PROVIDER_WEB_CERT, None)
Example #25
0
 def setUp(self):
     leap_config.set_leap_home('/tmp/foobar')
     LeapCertificate.set_cert_and_fingerprint(PROVIDER_WEB_CERT, None)