diff --git a/.github/workflows/tests-ssl.yml b/.github/workflows/tests-ssl.yml new file mode 100644 index 000000000..81913ed14 --- /dev/null +++ b/.github/workflows/tests-ssl.yml @@ -0,0 +1,240 @@ +name: Tests with SSL + +on: + push: + branches: + - "*" + pull_request: + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref_name }} + cancel-in-progress: true + +jobs: + test: + runs-on: ubuntu-22.04 + + services: + opengauss: + image: opengauss/opengauss-server:latest + ports: + - 5432:5432 + env: + GS_USERNAME: root + GS_USER_PASSWORD: Passwd@123 + GS_PASSWORD: Passwd@123 + options: >- + --privileged=true + --name opengauss-custom + + steps: + - name: Reset permissions for checkout + run: | + sudo chmod -R u+rwX certs || true + if: always() + + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 1 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + cache: pip + + - name: Create and activate virtual environment + run: | + python -m venv venv + echo "VENV_PATH=$GITHUB_WORKSPACE/venv/bin" >> $GITHUB_ENV + source venv/bin/activate + + - name: Create omm user + run: | + sudo useradd -m -s /bin/bash omm || true + sudo usermod -aG docker omm || true + + - name: Create configuration directories + run: | + mkdir -p ${{ github.workspace }}/opengauss/conf + sudo chown omm:omm ${{ github.workspace }}/opengauss/conf ${{ github.workspace }}/certs || true + sudo chmod 755 ${{ github.workspace }}/opengauss/conf ${{ github.workspace }}/certs || true + + - name: Set certificate permissions + run: | + sudo chown -R omm:omm ${{ github.workspace }}/certs + sudo chmod 644 ${{ github.workspace }}/certs/*key || true + sudo chmod 644 ${{ github.workspace }}/certs/*.crt || true + + - name: Create postgresql.conf with SSL + run: | + sudo -u omm bash -c 'cat > ${{ github.workspace }}/opengauss/conf/postgresql.conf < ${{ github.workspace }}/opengauss/conf/pg_hba.conf < san.cnf < /opengauss8889/conf/postgresql.conf < /opengauss8889/conf/postgresql.conf </dev/null || echo omm) + + # Set proper permissions for the key files and change ownership to the data directory owner + chown "$OWNER":"$OWNER" /var/lib/opengauss/certs/* + chmod 600 /var/lib/opengauss/certs/* + + # Verify the files + ls -l /var/lib/opengauss/certs + + # Exit the container + exit + + # Restart the container to apply changes + docker restart opengauss-cp + + # ReEnter the container + docker exec -it opengauss-cp bash + + # Switch to the default OpenGauss database user "omm" + su - omm + + # Connect to the OpenGauss database using the gsql client + gsql -d postgres -p 5432 -U omm + + -- Create a new database named "test" with Default compatibility with Oracle enabled + CREATE DATABASE test; + + + # Set the Python import path to include your local GaussDB Python project + # Replace your_path with actual values + export PYTHONPATH=/your_path/gaussdb-python + + # Select the pure-Python implementation of the GaussDB adapter + export PSYCOPG_IMPL=python + + # Set the test DSN (Data Source Name) as an environment variable + export GAUSSDB_TEST_DSN="dbname=test user=root password=Password@123 host=127.0.0.1 port=8889 sslmode=require" + export GAUSSDB_TEST_DSN="dbname=test user=root password=Password@123 host=127.0.0.1 port=8889 sslmode=verify-ca sslrootcert=/opengauss8889/certs/ca.crt sslcert=/opengauss8889/certs/client.crt sslkey=/opengauss8889/certs/client.key" + + # Run all tests using pytest, showing verbose output and test durations + pytest --durations=0 -s -v The library includes some pre-commit hooks to check that the code is valid according to the project coding convention. Please make sure to install them diff --git a/certs/ca.crt b/certs/ca.crt new file mode 100644 index 000000000..95a89acab --- /dev/null +++ b/certs/ca.crt @@ -0,0 +1,33 @@ +-----BEGIN CERTIFICATE----- +MIIFsTCCA5mgAwIBAgIUIvJ46Qu70HQ0WsSDWiTKCXxVJLcwDQYJKoZIhvcNAQEL +BQAwaDELMAkGA1UEBhMCQ04xEjAQBgNVBAgMCU9wZW5HYXVzczESMBAGA1UEBwwJ +T3BlbkdhdXNzMQ4wDAYDVQQKDAVNeU9yZzELMAkGA1UECwwCREIxFDASBgNVBAMM +C09wZW5HYXVzc0NBMB4XDTI1MDgyNDEzMzk0NloXDTM1MDgyMjEzMzk0NlowaDEL +MAkGA1UEBhMCQ04xEjAQBgNVBAgMCU9wZW5HYXVzczESMBAGA1UEBwwJT3Blbkdh +dXNzMQ4wDAYDVQQKDAVNeU9yZzELMAkGA1UECwwCREIxFDASBgNVBAMMC09wZW5H +YXVzc0NBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAzV9hUnrCcTcs +qQhCdbozWd6CarnLrGOnHksx5g/Vbb0+6XpHWDNzNjOCRgR5FP9ogQ5Ne4f48ruE +kbeLwGf+bMy3p5epVzOamNoI9NE+Yme8HHtuKGnlLDvgFDxWspu8tTsCOebqI6uO +D5drkLSywgIl6pXRJ0GAqOA8PnD8V//+FAUlnbreDd+um2WApAtRwcjMYVOWUqh5 +Y9w+5f6QcUdYwgZ4O/wIlXVYmeUBv0iny0kYon1hz0gP8yuBqBNk9cUDVJ1P16od +uGHnXqD8lEbM7Q9dG5g1cEopOUvsiwFzEyGTBbdTKWfZ16/sjLd0uc1zRpsx3cf7 +fVccNR+fq/CawiQGzk5n3htmLSuruOn8qiqrQIj3cpeQ0Mj/YrVE3cTiEO6EnCPd +yZCP2IRzFlUT2p9BsXTSbiw4Fi770KX53pU+Mr1xJ2RMWXL/MJb3ghosnCEd4bOl +3U+IypPUDZlVBnXHgonYPhIEYEl+bz/PELxZxSYyfCWjxxFDpLFEQ0JPNML9Nu9R +RIDBYk0e9GmxPmXQiejJnjoZSNNYoOsCq5xOpedDomiUDmBzJjk9quvyzteLxyHy +GkyPeE9c0bvHUs5K1JXPlElEqp5MQR05CsdarNL1Pwhkh4nEbH0riPPF/ocVInzo +8aynFSPQo0jK/wwv63d/MVnx1YCimG0CAwEAAaNTMFEwHQYDVR0OBBYEFCAgNikb +PSCJ6yh2k5JopkgxjRaFMB8GA1UdIwQYMBaAFCAgNikbPSCJ6yh2k5JopkgxjRaF +MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBABqDw+xRZM29YZzo +6GzPzc1rqWRcZVyCvxH6xpNuqKcAkoEQt+3JzIA65daz2lLwfmVyEomv7If6PBQR +clQ4c77H8ReMEzRlm+NkTtTzHYegKyUs1POAezKOyKU9S1Lfl3DwjOboXxSwmUM3 +EpZPBFHjIDQ2DA8PtUMlThtUusyCiYzgYJlLqGaxZhG/tc+1y1uE2N1wDQaqAftQ +CMsxogFlRKMsNXQB1ALxQGtDwUF5gldX10X+YsvBATskeSkR7u3wMlq7n4NTdQ3t +p0vekdti6d5g6gwuui9uXPj1EfNJhZRzIZxvyL/kM5Z9AtkgzpCu1VVYvLCna34l +yRJLGsVtgiLppT5sB58OJg/7VZ/oAwnW3KnyubkO0+LiHKNYNj0vimJPT0vWMzIt +6Rnm9gFEpjdxkqddUTtS39Bw8OXetmocB57WI0hS20SPhl++yQBd9E2+IGn0yKZn +6w6uFsZNmEt1pANS2+Dw6ZQF8ks1+6tvGT+AMW8inoXeNz6m5vjws75tMPjGMutR +b02cgN6dWX68KB2QEz1UPp1ilRsYA8foCJq0ucz76ik2GeNlkL/n7w/Z4/1CH5ZH +p2b17RddlZHgPR1jCPv8iSWpTAb8Mj44SUumSI6M18HHnNyPoOQS8uRCgyGlp243 +Xf6fd812ki7B85kBLJNyYDs7mTZi +-----END CERTIFICATE----- diff --git a/certs/ca.key b/certs/ca.key new file mode 100644 index 000000000..f46143193 --- /dev/null +++ b/certs/ca.key @@ -0,0 +1,52 @@ +-----BEGIN PRIVATE KEY----- +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 +aaPHWXC0bD6QC4X9ff8/6h+allDoIw== +-----END PRIVATE KEY----- diff --git a/certs/ca.srl b/certs/ca.srl new file mode 100644 index 000000000..0d5a1583c --- /dev/null +++ b/certs/ca.srl @@ -0,0 +1 @@ +60C663A6545310081D23AF7A482439DFC9FCCD78 diff --git a/certs/client.crt b/certs/client.crt new file mode 100644 index 000000000..8d0abc150 --- /dev/null +++ b/certs/client.crt @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIID/jCCAeYCFGDGY6ZUUxAIHSOvekgkOd/J/M14MA0GCSqGSIb3DQEBCwUAMGgx +CzAJBgNVBAYTAkNOMRIwEAYDVQQIDAlPcGVuR2F1c3MxEjAQBgNVBAcMCU9wZW5H +YXVzczEOMAwGA1UECgwFTXlPcmcxCzAJBgNVBAsMAkRCMRQwEgYDVQQDDAtPcGVu +R2F1c3NDQTAeFw0yNTA5MDExNDU2MDlaFw0yNzA5MDExNDU2MDlaMA8xDTALBgNV +BAMMBHJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9Qpajae9X +BysLEaUeVIKJMdCPYHHrfi7MKjWC28yU7WDq41xEy7vxXwNk+X0tQvpdmn86Gbwt +8mLdn4iTTjdRT2fZ5mcAxHKK/ShcEQy7cPvydgjD57ABJ/dCv4lR8whFdA1WNFyx +X9me+aDAa/0W88A0k1qfSp7tko3jcv7kTfT3jwm2Kp9BkXM7Ielc7tHE1+cpOFCZ +VArBM+gRlqxNq1TE2Ff08TdAQsWeL35xfZJBekGQ0MticSXwQ7quf8yPBCW1IY4D +cBfaiGhHIy7SzolCF5c7O3ttTztaPgoBekHnHr7eIpKjDCBt48TdAI/xnbCHeRcf +DNLieuUJBJStAgMBAAEwDQYJKoZIhvcNAQELBQADggIBAHpoP+UYEzQVJPYNt73b +vBPKBh7JbF9zSZVlRVeHVwfMZGon3Y0LcXwcOliWns43kPBPKuqUfMEREgZg9IxJ +RT9FMYOINXQTUYnhdFjYkN/FQ5Sedf2FnhD/BxjBI2QoMsCSCsISxSY+0G1f9y/C +vubxQ0vdlxkQAD93D82udfsoEMHm70NxRGhhy0NHKlhX0MWnwagwg4DpICTZYhnQ +cYJgZhXJchJgIZM2aPp6dHQ17KJKG+KkWJHaaUrFgJ2TMyVsV53NZCqvrz1NvKRI +kA51YOKLUl75Nl6yOOC5kSJL1E0l7Eg44tc9G7fyAGEAtKvb7iCfVyXrb9tUoBgV +tEn82iaY7WDA3BndoEu3XMp3E2sB/IooBJJp+1U9xFZgcjA/Bn9A3zvzINaivH+J +fag40v4TQiAbA7dqsTc9a9ks7QMKyUKcw7KyiDgI54rLKCSaDw5q4XY4Fbu6zkbP +0f7+SyPJCV4tWB6iCWCgqsm5Dc1iGqO5Pc9m2KjctFhxrlIxhDN2J+SLA7GQpaPb +gdmv6a3bcbvGzphVX/0qt2bXgAtSdcxo7D5bAcCbGvEGQv/IPrUikG7ZwNa6VjQj +P3+MvvSQMIMpQWZ9t5PU7g9q1SsVGq1n+e6hfC5NBmmX6CTP61/EPShv92T5gFYi +oGPJQQUQF95q1Nna8Eyc7+L6 +-----END CERTIFICATE----- diff --git a/certs/client.csr b/certs/client.csr new file mode 100644 index 000000000..266b95b45 --- /dev/null +++ b/certs/client.csr @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICVDCCATwCAQAwDzENMAsGA1UEAwwEcm9vdDCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAL1ClqNp71cHKwsRpR5Ugokx0I9gcet+LswqNYLbzJTtYOrj +XETLu/FfA2T5fS1C+l2afzoZvC3yYt2fiJNON1FPZ9nmZwDEcor9KFwRDLtw+/J2 +CMPnsAEn90K/iVHzCEV0DVY0XLFf2Z75oMBr/RbzwDSTWp9Knu2SjeNy/uRN9PeP +CbYqn0GRczsh6Vzu0cTX5yk4UJlUCsEz6BGWrE2rVMTYV/TxN0BCxZ4vfnF9kkF6 +QZDQy2JxJfBDuq5/zI8EJbUhjgNwF9qIaEcjLtLOiUIXlzs7e21PO1o+CgF6Qece +vt4ikqMMIG3jxN0Aj/GdsId5Fx8M0uJ65QkElK0CAwEAAaAAMA0GCSqGSIb3DQEB +CwUAA4IBAQANzepMyPE6e3N0jm2ajhVZS6cRqHRekcHOAFZL48MpqsInflJsnx/E +G8fUpSiax3+3SfgLsI4bsHrb0GG93X/8NreG1qiC/8MsnHfZ5lcOlIooQnwiSKg/ +qR7CG2rs6lasZygRqGfIIEZXa39x9i1Pu4DWywt0u1GGEaD04VMHwx3ptENUzPKN +OOxkMhQNq7FZIJGeF+UR7mzgQxt4Q354O++4Wy785pYDDpDku5k5cbkCAD2iYa/e +Bgear2jOyyUQ6zDyHZNicm6oj3Jy053GGToFLltlBCpv/DBbe26l/sdCxRlB7JIZ +S+wIZYZkmrmle004LDBjzNJpZBV9c0yX +-----END CERTIFICATE REQUEST----- diff --git a/certs/client.key b/certs/client.key new file mode 100644 index 000000000..f81037449 --- /dev/null +++ b/certs/client.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC9Qpajae9XBysL +EaUeVIKJMdCPYHHrfi7MKjWC28yU7WDq41xEy7vxXwNk+X0tQvpdmn86Gbwt8mLd +n4iTTjdRT2fZ5mcAxHKK/ShcEQy7cPvydgjD57ABJ/dCv4lR8whFdA1WNFyxX9me ++aDAa/0W88A0k1qfSp7tko3jcv7kTfT3jwm2Kp9BkXM7Ielc7tHE1+cpOFCZVArB +M+gRlqxNq1TE2Ff08TdAQsWeL35xfZJBekGQ0MticSXwQ7quf8yPBCW1IY4DcBfa +iGhHIy7SzolCF5c7O3ttTztaPgoBekHnHr7eIpKjDCBt48TdAI/xnbCHeRcfDNLi +euUJBJStAgMBAAECggEAD9RF7R0AcPL0h/8jJEpFMLGt6TqpId0dOjjoM4MBYA4K +kRq7A4tWs3VoP0XD+8kiT481x5I8yaBVjIZkpzgKKw7NIiMXHQVRNIwVQr4E++29 +5NA3ziAj+bTHWsR8+RGum2soF7xWvwRumyadv0+eN2aOU4IPjksbcnCo1WEvgxYC +kkohBye3I57ha/rgNw/GxuvUMOfjYpnwwxaH5f01BNCcGh8ml0fbyA5kGWo4gtdD +KMBD+juhfbxYLiPObIQjIeA1dtFTiCJ4zlWrcEzConef7bysadPrAYCllXc6Wu4a +xwQMb0RBIs8TIIbFNE1czdvMLTVVig5mMrrrLInxsQKBgQDkqQjJseGcqAMCLtXJ +utqd/u0+q+8Xu1yHOGSQUNfuqD0ylMPzhYpbJZOXhcxVtLZdLtWu0xCTf8h5wnpf +hw3VW039BZUZ76phN0vrAxkbgqSgX7cNOaharMH3EqtlRwz9aEgRbz4M/QXt5o4o +sBQslmhD0nMSm2M4f0zZ0IBaywKBgQDT45IdFZ/Vq6U/KL3ipAJ+T6o/ht9IsUGF +ylphkU3zSt986j7UGYn2cwJOTIZwjLb8R7m2Loss7IlihQe56rwl38y7caUA3j/Y +2XvshBufpd5y4KrqeR8Ti+LPDCChw09r/F8UJs/UN5svntjMatONXSxcx+I1HWoy +xsNIdZ2HZwKBgAwihFrf289Kg05cWfAowG1eGA0ZZsjlopVygrO99petygGjL3r+ +/Ua1Cc4ixaNOwdbUI3bxsJGDWIpNrdzf9/X4sHzbDPyhYXNjUd4Y/f4dwsrYCYjk +JHEbdfe8v+fSC3hvTlPOiYZ67xOfBrBWF9v9526h/oVgRbW728I7dHRdAoGAMQRv +U80h2bNImhDZxKl+biwNzX5s/wsKhmHmgLW1m7fRdbtW54g0809t1CE95KGY30nU +e4HO7oiVy7XMsMTN29EnMqG6szW2/Xpqga+aGFet21OAFpgIiWQOByneDq35HJkY +gbfs0kI+40hTDQ8Ve5l3Xsta2EDCxZZXrNaQp7cCgYADVeQ/uBun1plel0/8vS4h +FY2gAeKAH7XsNdi/CenZvUYY+Rv8CRKKLhdQwRMh/FhNWv43RExPZp3hEEVAwKZa +VjeCAZLO1tS+4oIGroNYW8t4TpVwS+tA6qcxa1AsRUi2Mz+TUaOuNgYZ5YfvNC+/ +Yp/rFriPY1So4RS6Vp5pLg== +-----END PRIVATE KEY----- diff --git a/certs/readme.txt b/certs/readme.txt new file mode 100644 index 000000000..3a5ccbc96 --- /dev/null +++ b/certs/readme.txt @@ -0,0 +1,37 @@ +# Generate CA +openssl genrsa -out ca.key 4096 +openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 \ +-subj "/C=CN/ST=OpenGauss/L=OpenGauss/O=MyOrg/OU=DB/CN=OpenGaussCA" \ +-out ca.crt + +# Generate server key / csr +openssl genrsa -out server.key 2048 +openssl req -new -key server.key \ +-subj "/C=CN/ST=OpenGauss/L=OpenGauss/O=MyOrg/OU=DB/CN=opengauss.local" \ +-out server.csr + +# SAN config (replace IP/DNS with the address you will use to access, +# e.g. 127.0.0.1 or host IP) +cat > san.cnf <