Metadata-Version: 1.2
Name: uotp
Version: 0.3.0
Summary: μOTP+: The next generation OTP toolkit
Home-page: https://github.com/devunt/uotp
Author: Bae Junehyeon
Author-email: devunt@gmail.com
License: Public Domain
Description: *****
        μOTP+
        *****
        
        μOTP+ is the next generation OTP toolkit.
        
        
        Installation
        ============
        
        You will need Python 3.4 or higher in order to run ``uotp``.
        
        .. code-block:: console
        
          $ pip install -U uotp
        
        
        How to use μOTP+ as GUI application
        ===================================
        
        Run ``uotp gui``.
        
        .. code-block:: console
        
          $ uotp gui
        
        
        How to use μOTP+ as CLI application
        ===================================
        
        Just run ``uotp``.
        
        .. code-block:: console
        
          $ uotp
        
        μOTP+ will automatically issue a new account and sync time with the server for you.
        
        Once you have successfully issued the new account, running ``uotp`` again will start giving you the OTP token.
        
        For more information, see ``uotp --help``.
        
        
        Configuration file
        ------------------
        
        By default, a new configuration file will be automatically generated on ``~/.config/uotp/config.yml``.
        
        This behaviour however can be overriden by passing ``--conf=/path/to/config.yml`` to ``uotp`` command or setting ``UOTP_CONF=/path/to/config.yml`` environment variable.
        
        .. code-block:: console
        
          $ uotp --conf=uotp.yml new
          $ UOTP_CONF=uotp.yml uotp new
        
        
        How to develop an application using μOTP+
        =========================================
        
        .. code-block:: python
        
          # Import everything
          from uotp import OTPTokenGenerator, OTPUtil
          from uotp.packet import IssueRequest, TimeRequest
        
        
          # Issue a new account
          req = IssueRequest()
          req['mno'] = 'KTF'
          req['hw_id'] = 'GA15'
          req['hw_model'] = 'SM-N900P'
          req['version'] = (2, 0)
        
          resp = req()
          oid = resp['oid']
          seed = resp['seed']
          serial_number = resp['serial_number']
        
          print(Util.humanize(serial_number, char='-', each=4))
        
        
          # Sync time with the server
          remote_now = TimeRequest()()['time']
          local_now = Util.now()
        
          timediff = remote_now - local_now
        
        
          # Get a new OTP token
          generator = OTPTokenGenerator(oid, seed)
          generator.compensate_time_deviation(timediff)
          token = generator.generate_token()
        
          print(Util.humanize(token, char=' ', each=3, maxgroup=2)
        
        
        License
        =======
        
        All proprietary materials are intellectual property of (C) 2004 - 2017 ATsolutions
        
Keywords: otp
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: Public Domain
Classifier: Natural Language :: Korean
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Security
Classifier: Topic :: Security :: Cryptography
Classifier: Topic :: Utilities
Requires-Python: ~=3.6
