summaryrefslogtreecommitdiff
path: root/service/pixelated/register.py
diff options
context:
space:
mode:
authorBruno Wagner <bwgpro@gmail.com>2015-06-15 16:40:19 -0300
committerBruno Wagner <bwgpro@gmail.com>2015-06-15 16:40:29 -0300
commit1af60867f8f85f87d2186a66ce911392d7b08a05 (patch)
tree8e69dd7c496fef01f0f9bfa8fd29c596f6314e67 /service/pixelated/register.py
parent96616d25a0f4abf1b4c4c9360a5aa8de1ecfad79 (diff)
Register now understands fingerprint and certificate arguments again
Diffstat (limited to 'service/pixelated/register.py')
-rw-r--r--service/pixelated/register.py27
1 files changed, 20 insertions, 7 deletions
diff --git a/service/pixelated/register.py b/service/pixelated/register.py
index 47c9c3f5..11ec9b1f 100644
--- a/service/pixelated/register.py
+++ b/service/pixelated/register.py
@@ -17,31 +17,39 @@ import re
import getpass
import logging
-from pixelated.bitmask_libraries import session as leap_session
from pixelated.config import arguments
from pixelated.config import logger as logger_config
from pixelated.bitmask_libraries.certs import LeapCertificate
from pixelated.bitmask_libraries.config import LeapConfig
from pixelated.bitmask_libraries.provider import LeapProvider
+from pixelated.bitmask_libraries.session import LeapSessionFactory
from leap.auth import SRPAuth
logger = logging.getLogger(__name__)
-def register(server_name, username):
+def register(
+ server_name,
+ username,
+ leap_home,
+ provider_cert,
+ provider_cert_fingerprint):
+
try:
validate_username(username)
except ValueError:
print('Only lowercase letters, digits, . - and _ allowed.')
- config = LeapConfig()
- provider = LeapProvider(server_name, config)
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):
- session = leap_session.open_leap_session(username, password, server_name)
- session.nicknym.generate_openpgp_key()
+ session = LeapSessionFactory(provider).create(username, password)
else:
logger.error("Register failed")
@@ -55,4 +63,9 @@ def validate_username(username):
def initialize():
logger_config.init(debug=False)
args = arguments.parse_register_args()
- register(args.provider, args.username)
+ register(
+ args.provider,
+ args.username,
+ args.leap_home,
+ args.leap_provider_cert,
+ args.leap_provider_cert_fingerprint)