Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SSL support #28

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Commits on Aug 22, 2022

  1. Fix running tests for Tarantool Enterprise

    Stream tests use `tarantool -V` output to check version. For Tarantool
    Enterprise, `tarantool -V` output is "Tarantool Enterprise <version>",
    thus it is incorrect to extract the version tag by splitting by spaces.
    
    Part of igorcoding#22
    DifferentialOrange committed Aug 22, 2022
    Configuration menu
    Copy the full SHA
    108c6f9 View commit details
    Browse the repository at this point in the history

Commits on Aug 24, 2022

  1. Support SSL encrypted connection to Tarantool EE

    This patch adds support for using SSL to encrypt the client-server
    communications [1]. The patch is based on a similar patch in
    tarantool/tarantool-python connector [2].
    
    To use SSL encrypted connection, use Connection parameters:
    
      conn = asynctnt.Connection(host='127.0.0.1',
                                 port=3301,
                                 transport=asynctnt.Transport.SSL,
                                 ssl_key_file='./ssl/host.key',
                                 ssl_cert_file='./ssl/host.crt',
                                 ssl_ca_file='./ssl/ca.crt',
                                 ssl_ciphers='ECDHE-RSA-AES256-GCM-SHA384')
    
    If Tarantool server uses "ssl" transport, client connection also need to
    use asynctnt.Transport.SSL transport. If server side had ssl_ca_file
    set, ssl_key_file and ssl_cert_file are mandatory from the client side,
    otherwise optional. CA file and ciphers are optional. See available
    ciphers in Tarantool EE documentation [3].
    
    1. https://www.tarantool.io/en/enterprise_doc/security/#enterprise-iproto-encryption
    2. tarantool/tarantool-python#220
    3. https://www.tarantool.io/en/enterprise_doc/security/#supported-ciphers
    
    Closes igorcoding#22
    DifferentialOrange committed Aug 24, 2022
    Configuration menu
    Copy the full SHA
    8b72969 View commit details
    Browse the repository at this point in the history
  2. Support starting Tarantool server with SSL

    SSL encrypted server could be started with Tarantool Enterprise 2.10 or
    newer. To configure encryption, additional listen params must be passed.
    ssl_key_file and ssl_cert_file are mandatory if transport is
    asynctnt.Transport.SSL .
    
    Follows up igorcoding#22
    DifferentialOrange committed Aug 24, 2022
    Configuration menu
    Copy the full SHA
    6f934fc View commit details
    Browse the repository at this point in the history
  3. Add SSL tests

    To run SSL tests, use Tarantool Enterprise 2.10 or newer and set
    TEST_TT_SSL=TRUE flag. The patch is based on a similar patch in
    tarantool/tarantool-python connector [1].
    
    1. tarantool/tarantool-python#220
    
    Follows up igorcoding#22
    DifferentialOrange committed Aug 24, 2022
    Configuration menu
    Copy the full SHA
    369d932 View commit details
    Browse the repository at this point in the history