Skip to content

Commit a491870

Browse files
authored
Merge pull request #7 from jlab/auth_oidc_wellknown
using the well-known json dict instead of manually providing multiple…
2 parents 33f2879 + d96bbae commit a491870

File tree

169 files changed

+8499
-7707
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

169 files changed

+8499
-7707
lines changed

.github/workflows/qiita-ci.yml

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -154,8 +154,6 @@ jobs:
154154
155155
echo "5. Setting up qiita"
156156
conda activate qiita
157-
# adapt environment_script for private qiita plugins from travis to github actions.
158-
sed 's#export PATH="/home/travis/miniconda3/bin:$PATH"; source #source /home/runner/.profile; conda #' -i qiita_db/support_files/patches/54.sql
159157
qiita-env make --no-load-ontologies
160158
qiita-test-install
161159
qiita plugins update
@@ -203,7 +201,34 @@ jobs:
203201
QIITA_PID=`cat /tmp/supervisord.pid`
204202
kill $QIITA_PID
205203
sleep 10
206-
if [[ "$COVER_PACKAGE" != *"qiita_db"* ]]; then test_data_studies/commands.sh; all-qiita-cron-job; fi
204+
# due to qiita_db tests being more complex and taking longer than
205+
# the other tests we will only add some extra tests to the run that is
206+
# not testing qiita_db
207+
if [[ "$COVER_PACKAGE" != *"qiita_db"* ]]; then
208+
# 1. testing that we can add some "dummy" studies to the db via
209+
# CLI
210+
test_data_studies/commands.sh;
211+
# 2. making sure that all qiita cron jobs complete as expected
212+
all-qiita-cron-job;
213+
# 3. making sure than a production system has the expected rows
214+
# in all our tables; steps: a. drop test db, b. change $QIITA_CONFIG_FP
215+
# c. create new production system, c. count rows in the db.
216+
qiita-env drop;
217+
cp $QIITA_CONFIG_FP ${QIITA_CONFIG_FP}.bk
218+
sed 's/TEST_ENVIRONMENT = TRUE/TEST_ENVIRONMENT = FALSE/g' ${QIITA_CONFIG_FP}.bk > $QIITA_CONFIG_FP;
219+
qiita-env make --no-load-ontologies;
220+
221+
export PGPASSWORD=postgres
222+
pgport=${{ job.services.postgres.ports[5432] }}
223+
row_counts=`psql -h localhost -U postgres -d qiita_test -p $pgport -c "SELECT SUM(c.reltuples) FROM pg_class c JOIN pg_namespace n on n.oid = c.relnamespace WHERE n.nspname = 'qiita' AND c.relkind = 'r' AND n.nspname NOT IN ('information_schema', 'pg_catalog');"`
224+
if [[ `echo $row_counts` != *" 0 "* ]]; then
225+
echo "***********";
226+
echo "The number of rows in a production system is not what's expected:";
227+
echo $row_counts;
228+
echo "***********";
229+
exit 1
230+
fi
231+
fi
207232
208233
- name: Submit coveralls
209234
uses: AndreMiras/coveralls-python-action@develop

CONTRIBUTING.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,17 @@ After the initial production release of Qiita, changes to the database schema wi
9494
2. We keep fully patched versions of the DBS and HTML files in the repository
9595
3. We keep a patch file for each patch as required in the `qiita_db/support_files/patches` directory. Note that **the patches will be applied in order based on the natural sort order of their filename** (e.g., `2.sql` will be applied before `10.sql`, and `10.sql` will be applied before `a.sql`)
9696

97+
### Patch 91.sql
98+
99+
In May 2024 we decided to:
100+
* Merge all patches into the main database schema, this means that there are no patches younger than 92.sql.
101+
* Added a new folder `patches/test_db_sql/` where we can store sql files that will only be applied for the test environment.
102+
* Added a test to the GitHub actions to test that the production database has an expected number of rows.
103+
104+
Note that these changes mean:
105+
1. 92.sql is the current first sql file to patch the database.
106+
2. If you need to make changes (like INSERTS) _only_ to the tests database you need to add a patch to `patches/test_db_sql/`.
107+
97108
### Developer Workflow
98109

99110
1. Load the fully patched DBS file (e.g., `qiita-db.dbs`) in [DBSchema](http://www.dbschema.com/)

INSTALL.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ You can reboot the system with `sudo reboot` in case any packages were updated.
7878
Next, we need to add the Postgres repository to our system:
7979
```bash
8080
sudo apt update
81-
sudo apt install curl gpg gnupg2 software-properties-common apt-transport-https lsb-release ca-certificates
81+
sudo apt install curl gpg gnupg2 software-properties-common apt-transport-https lsb-release ca-certificates git
8282
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
8383
echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee /etc/apt/sources.list.d/pgdg.list
8484
```
@@ -238,6 +238,9 @@ If you are using [NGINX](https://www.nginx.com/) via conda, you are going to nee
238238
mkdir -p ${CONDA_PREFIX}/var/run/nginx/
239239
```
240240

241+
Note that the shipped nginx version from conda, does **not** contain the mod_zip module: https://github.com/evanmiller/mod_zip
242+
This leads to unexpected behaviour when generating a download link for anonymous artefact sharing, i.e. Qiita returns a flat file listing artifact filepaths instead of generating a ZIP archive that contains those files. You need to compile nginx with the additional mod_zip module yourself. (I've invested multiple hours to realize that the configure routine does not properly link shared libraries to the nginx binary. Try adding `--with-ld-opt=" -Wl,-rpath,/home/foo/lib "` to the `./auto/configure` call.)
243+
241244
## Start Qiita
242245

243246
Start postgres (instructions vary depending on operating system and install method).

qiita_core/configuration_manager.py

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -137,16 +137,22 @@ class ConfigurationManager(object):
137137
redirect_endpoint : str
138138
The internal Qiita endpoint the IdP shall redirect the user after
139139
logging in
140-
authorize_url : str
141-
The URL of the IdP to obtain a code (step 1)
142-
accesstoken_url : str
143-
The URL of the IdP to exchange the code from step 1 for an access
144-
token (step 2)
145-
userinfo_url : str
146-
The URL of the IdP to obtain information about the user, like email,
147-
username, ...
140+
wellknown_uri : str
141+
The URL of the well-known json document, specifying how API end points
142+
like 'authorize', 'token' or 'userinfo' are defined. See e.g.
143+
https://swagger.io/docs/specification/authentication/
144+
openid-connect-discovery/
148145
label : str
149146
A speaking label for the Identity Provider
147+
scope : str
148+
The scope, i.e. fields about a user, which Qiita requests from the
149+
Identity Provider, e.g. "profile email eduperson_orcid".
150+
Will be automatically extended by the scope "openid", to enable the
151+
"authorize_code" OIDC flow.
152+
logo : str
153+
Optional. Name of a file in qiita_pet/static/img that shall be
154+
displayed for login through Service Provider, instead of a plain
155+
button
150156
151157
Raises
152158
------
@@ -410,7 +416,7 @@ def _get_portal(self, config):
410416
raise ValueError(msg % (name, val, 'larger than 180°'))
411417

412418
def _iframe(self, config):
413-
self.iframe_qiimp = config.get('iframe', 'QIIMP')
419+
self.iframe_qiimp = config.get('iframe', 'QIIMP', fallback=None)
414420

415421
def _get_oidc(self, config):
416422
"""Get the configuration of the open ID connect section(s)
@@ -436,14 +442,18 @@ def _get_oidc(self, config):
436442
if provider['redirect_endpoint'].endswith('/'):
437443
provider['redirect_endpoint'] = provider[
438444
'redirect_endpoint'][:-1]
439-
provider['authorize_url'] = config.get(
440-
section_name, 'AUTHORIZE_URL')
441-
provider['accesstoken_url'] = config.get(
442-
section_name, 'ACCESS_TOKEN_URL')
443-
provider['userinfo_url'] = config.get(
444-
section_name, 'USERINFO_URL')
445+
provider['wellknown_uri'] = config.get(
446+
section_name, 'WELLKNOWN_URI')
445447
provider['label'] = config.get(section_name, 'LABEL')
446448
if not provider['label']:
447449
# fallback, if no label is provided
448450
provider['label'] = section_name[len(PREFIX):]
449451
self.oidc[section_name[len(PREFIX):]] = provider
452+
provider['scope'] = config.get(
453+
section_name, 'SCOPE', fallback=None)
454+
if not provider['scope']:
455+
provider['scope'] = 'openid'
456+
if 'openid' not in provider['scope']:
457+
provider['scope'] = 'openid %s' % provider['scope']
458+
provider['logo'] = config.get(
459+
section_name, 'LOGO', fallback=None)

qiita_core/support_files/cert.conf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
authorityKeyIdentifier=keyid,issuer
2+
basicConstraints=CA:FALSE
3+
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
4+
subjectAltName = @alt_names
5+
6+
[alt_names]
7+
DNS.1 = localhost
Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
-----BEGIN CERTIFICATE-----
2-
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
2020
-----END CERTIFICATE-----
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-----BEGIN PRIVATE KEY-----
2+
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDC1vjTsLU7DajT
3+
nfeoib2B6tzVpg+iKDR5Wb3WyjkiO1suRJlgZFRqgIX+agWXCfQlZhjvjbbB8OG+
4+
NdNqYrOyBujA2Hxr2tVpDEU65lNaI3ok1jdm1+C2r5jXLo9FQoJv30TYpRenwm7k
5+
a8Q4SPb8BC1UAji8oWCB4dIKlMppkOtX7+a5TWaaRv/l2IdbmAzX1U6KGluP9bkq
6+
Lg1e60io1FK2UpAxhaKm2Zt+rNsBTuygDfpWN2ltUGxAm6s85aqxZB2K8X80WCXg
7+
WyMMR4UIH+hnVId7+KDZyvCtFPtRmOmdmriDiMNp/MY8IFjtpQYROzPfYEw9XY/b
8+
bIqOJw+nAgMBAAECggEAJy8Mg6Y6DFJG7agLMn3g+su89cqbwkTLqMv/fb7VlqjR
9+
QZDSN6x1vaVzTSMNVL7PtuW9hg+9/WrwO0yf4/lNojP5gy8GdrpfyOyKz7macbpI
10+
yje6lJg9vP+7gSr/7THfAZipQ9iP1VEo9A8oOxmRckV0yDxaJLVfrz82+qHJw0jj
11+
Iy/8kkKtQEZ8gN547IDVladRunAGU4xYl9n9hPDfAbA3lPkjNTytzPk8Be4X98kW
12+
K2L4Q0wloRV6/n7qDamyjFsDarswxFA+TXypiESxQHFCdNiSKqAv3DHE6QcYRWQK
13+
vwa5QfCIHFpMsclbmGvB9WSPxC6HcMppcWyf5V9RgQKBgQD/xlK2X0ig1yqn9OMX
14+
oo8XRWZqC4skn3/I8RkeMKS1dBg3o0v3c6uF4RY4i35lMZdPewFtYy8SEQa3XMSk
15+
6z/DCeBKzIbjqxv5pSFrMu2MR72SlmnTkbyq6T4t+OIII75T11XtbQLidDvZNgQI
16+
8lnQQsJfBJZQQ/+ERICNomMGlwKBgQDDAuh6gVic/lF4geCAhkRarjrZlUohWUuD
17+
1jSbSuXs5GoxMZ9+b2JAA2SUxIY3itw/SCT0ASoylmuAcoaZ7OJsjEq5EjJx5uns
18+
GcJ6TDeGIa9ttGwU5FyLLnCdM4ndGtAYAcDdQWAAkGT+gNOQgqX81bnqhEWGNDkY
19+
9LxCL0vxcQKBgGjD90U0Ki+XcqVxLUOVFj9V8ekl6UyK+HB6MOuoyQ56CyFfBdLJ
20+
0kv4Mn3exVr1wSCRJbiEk9c2miWpHfLfWTKubOy2cdn3UHIlLVcXeS2ohQHyEk7S
21+
txDakNmLxCnJWkBFR7EEodXX/luuQGDZw+gGME9zNY6TC6pF1NIu3ZjpAoGAf4HQ
22+
RgF60jPLS1MIWqDv4qbXHdtqPAHpyUru3LcNPWZgNMgwc/gaMqbFRix1Ya2ussXW
23+
O6DjWW5W3gaEEfL8XWMhnH7Ucvs76j8xlMtu5onx7XYx0Ts7c1mrEm5XbzWP6JKE
24+
62ZKgjPnhSzwqCV0qKuKQ1e3KbfNuY6T5WaNblECgYAZs2s3Hw8eBPDFHVqRdHfl
25+
a5+M8cXk2pUytNCGwJZ/Q/OJLUH/M9VOUE6ncHs4iX2XoCrHHqHjwZ2s3wgryS2n
26+
8RJP8Zx0ZQqkgrXrfxxABY8UJsmUQu4X5EksoCYgv6owqNM6NuQBnfSwY6y8TjFs
27+
4+5t5RSoyHDQeIc4OKiCdA==
28+
-----END PRIVATE KEY-----
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2FB946B7AAF21FDC0387BAA7B5ABF5D91E0D9F4B
1+
2FB946B7AAF21FDC0387BAA7B5ABF5D91E0D9F4C
Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
-----BEGIN CERTIFICATE-----
2-
MIIDoTCCAomgAwIBAgIUL7lGt6ryH9wDh7qntav12R4Nn0swDQYJKoZIhvcNAQEL
2+
MIIDoTCCAomgAwIBAgIUL7lGt6ryH9wDh7qntav12R4Nn0wwDQYJKoZIhvcNAQEL
33
BQAwNTESMBAGA1UEAwwJbG9jYWxob3N0MQswCQYDVQQGEwJVUzESMBAGA1UEBwwJ
4-
U2FuIERpZWdvMB4XDTIzMDUzMDE4MDQzMloXDTI0MDUyOTE4MDQzMlowbjELMAkG
4+
U2FuIERpZWdvMB4XDTI0MDUzMTEzMjcwNVoXDTMzMDgxNzEzMjcwNVowbjELMAkG
55
A1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExEjAQBgNVBAcMCVNhbiBEaWVn
66
bzENMAsGA1UECgwEVUNTRDETMBEGA1UECwwKS25pZ2h0IExhYjESMBAGA1UEAwwJ
7-
bG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvBP9ojX6
8-
JJQkZQ/awx45BDiqCJTdggCVMhCF1dDwYHpNIADWVLqXosUOml2lPp8QAD3MrklB
9-
+blpPCjvBl/DqVsSqoGN3U3ocFyon4+7XzIXuI2js/Bf42PRCIDvu65WNNpfVmfC
10-
k1Pc4iTe/pIZEErZ4gENsTdhjvFmiWW+UPwGNu3Ud0RpQtQkvs0mKpp/91RZm4Ra
11-
woMa3fapfpLYzToSnAHfqP+1eCabLIpYp3Rsj2b0KsaMqyRO1xtb2lCf5nwEG08+
12-
pctKjObWL03Gza41gcoWn0PGU7Dtks3gNStovcYqTC/roUK5zd+BN6GhdADLEE6r
13-
RGhoJDSEZS9XewIDAQABo3AwbjAfBgNVHSMEGDAWgBR3cV67O03cSg+vFUQ+EKl0
14-
GN4r5zAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE8DAUBgNVHREEDTALgglsb2NhbGhv
15-
c3QwHQYDVR0OBBYEFOk1W4cBT/aN3Q2q4k3OpL6RKgikMA0GCSqGSIb3DQEBCwUA
16-
A4IBAQBuqKdaQTIHU3al0oa1jGISIRs8WjKi0AswzOiKoeiXbGIsAC0csiW8ErcU
17-
nwPOB8dKU4AgMrcTjTE+vKw7yie7yQ8tAg+dkNPsjz6ZCbRAttdxDfvO30/cL3Je
18-
YgIc+A8WAeTUQ4mGWTBlTYZhFG+xMu7La7oPDhvNcAWYQhTj6rUnZ5/ggAygX+wn
19-
UtR8gjSJU4WxFzyFDVNk9KnqeRC2l1mZHsgyUe+ne534EOiUzxa8D07t+L4jt/0X
20-
EWGu1/GFODOwOtn9UzKw1I1jaiff5/e3CvSDzK53RY1lWqbdhqoiaMLLWjanjA2i
21-
KZ/gjVd9s6htU1ede2oLbQ11gRdL
7+
bG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuC9jQSL2
8+
Zt0S8YHc4T42UMgK1o7qtXRG/G3BWkZYXrcFQHD3CFt4kvBOrWpyqulVDvmhMXbI
9+
ZUra/Mw5lcL6c3PV4CWa1O/zfJ7OmitXsXq4iuCgizNOD6ms7bNGWXvDoV8pxZ1N
10+
hKwzWZyKstwgIrutG4GWQbfq1Q+9JsLS4xuPd4+C+0IJpPy6TZ2jswbWjIV1Iikg
11+
S2w8ZQKNXUoM27cR9m/VXcPUNnzpJPfiYw3r4zezR1ce8wjsownx7LuV1V5NQwnn
12+
5vXEQRgm5MfLvJZ7i4cE9LX4PY8luPdPBbrfiMvuHJ+9F9K/Ma1xMolAdupNWCt0
13+
5dfN4/ozEsFYGwIDAQABo3AwbjAfBgNVHSMEGDAWgBRWfa3Zu7StSFvmWxDC8J07
14+
4LdZ3TAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE8DAUBgNVHREEDTALgglsb2NhbGhv
15+
c3QwHQYDVR0OBBYEFKw6A/4GELz92LjFfSZuZZicn5x/MA0GCSqGSIb3DQEBCwUA
16+
A4IBAQA2Rh1+Gwi4Wg2IU2g2lckzVBhQmoNgh2ei806K9P12//9sRUT41fwrzGo7
17+
WHYKJbMP/6l204brq4c6W51xW5QVMtfBHQ4jP3e8Ryq4M/7QNBqfrf7ufzW1cIfj
18+
kFBukbhZx/cmnTNM5j6cUbinx4GVkxQMJqxGRKVt94updY9T/SrKI4IqFVV9SzsW
19+
ElqNpmRGElUs05GujBjN7KryUN0ilM3H8aieEIAZlH3TNncVudcdV5+0A6Mkxw8d
20+
JmsJ1qATnR6ruJmHwjuagY3CYbhDSaQlGbQOKPor7XcT45R36crYuXdWkOh6A0Mx
21+
Q/uy5CFcuPA1ZCfs0jwDpdBjcUm0
2222
-----END CERTIFICATE-----

qiita_core/support_files/ci_server.csr

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22
MIIC4DCCAcgCAQAwbjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx
33
EjAQBgNVBAcMCVNhbiBEaWVnbzENMAsGA1UECgwEVUNTRDETMBEGA1UECwwKS25p
44
Z2h0IExhYjESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOC
5-
AQ8AMIIBCgKCAQEAvBP9ojX6JJQkZQ/awx45BDiqCJTdggCVMhCF1dDwYHpNIADW
6-
VLqXosUOml2lPp8QAD3MrklB+blpPCjvBl/DqVsSqoGN3U3ocFyon4+7XzIXuI2j
7-
s/Bf42PRCIDvu65WNNpfVmfCk1Pc4iTe/pIZEErZ4gENsTdhjvFmiWW+UPwGNu3U
8-
d0RpQtQkvs0mKpp/91RZm4RawoMa3fapfpLYzToSnAHfqP+1eCabLIpYp3Rsj2b0
9-
KsaMqyRO1xtb2lCf5nwEG08+pctKjObWL03Gza41gcoWn0PGU7Dtks3gNStovcYq
10-
TC/roUK5zd+BN6GhdADLEE6rRGhoJDSEZS9XewIDAQABoC0wKwYJKoZIhvcNAQkO
5+
AQ8AMIIBCgKCAQEAuC9jQSL2Zt0S8YHc4T42UMgK1o7qtXRG/G3BWkZYXrcFQHD3
6+
CFt4kvBOrWpyqulVDvmhMXbIZUra/Mw5lcL6c3PV4CWa1O/zfJ7OmitXsXq4iuCg
7+
izNOD6ms7bNGWXvDoV8pxZ1NhKwzWZyKstwgIrutG4GWQbfq1Q+9JsLS4xuPd4+C
8+
+0IJpPy6TZ2jswbWjIV1IikgS2w8ZQKNXUoM27cR9m/VXcPUNnzpJPfiYw3r4zez
9+
R1ce8wjsownx7LuV1V5NQwnn5vXEQRgm5MfLvJZ7i4cE9LX4PY8luPdPBbrfiMvu
10+
HJ+9F9K/Ma1xMolAdupNWCt05dfN4/ozEsFYGwIDAQABoC0wKwYJKoZIhvcNAQkO
1111
MR4wHDAaBgNVHREEEzARgglsb2NhbGhvc3SHBH8AAAEwDQYJKoZIhvcNAQELBQAD
12-
ggEBADRoQqr5R8MA1fcCjSAu/eae24gb9YtY4Fcexwe1dJ3or7ui9f1Lg+mnomn0
13-
9B/2swSd2HRuV7xNQcHLef7CE7hJHWkvPzZotfGRfnENIdjhA60ksvugSLo/wt2x
14-
uK6tm33xDho9ekvY86dUj+eGzz8HUI6l51kijdIZ5Pg6FcXC7YwiZwRZa5hHGJdj
15-
biYYOqrmphAkDcULsvGIrikT16Qku+vXHRMdKA0tkaYEBdAzZiLCFN05mNAZz9F1
16-
qmqvGDer6DQ973UEhCjlqabjyc/2Muq/1fEySgBZNtn/ZU7optYgZv1jiwb/jifW
17-
yFqGYcs0GE5i6NervHDVWwxD2fg=
12+
ggEBADIezuiYMz8gm1M0rzPGZdCk/h2r2Nz5xUBCmOHjOVtzcmB0jaAQF6clN8gh
13+
Uad3fRq3/+MEJKJo1P0N62priCk/oSMdJAbjvoCu39eSHUnsmeKurvCp2VZdCl7v
14+
2siTBlyH7LCiNAQ9gMJOr85lThaY7wl+FlIuyQ3uazhFqxZUpPnsVdmT/rnfnLee
15+
rsmgZnCgSHnNubD/FaBOl/UMtFmT1Ff7gvsvtFejTFBoAWJ07bDrfaKpTkc02h3m
16+
10rr9YJzi+iY0AO9I1Ac9CDXrsq1DPyf0mBmbs/TKVa77lQ5OCTplSeyRRCbzwkO
17+
YK+3NzntO3H+LD0kmKTW9AzafNU=
1818
-----END CERTIFICATE REQUEST-----
Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
-----BEGIN PRIVATE KEY-----
2-
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC8E/2iNfoklCRl
3-
D9rDHjkEOKoIlN2CAJUyEIXV0PBgek0gANZUupeixQ6aXaU+nxAAPcyuSUH5uWk8
4-
KO8GX8OpWxKqgY3dTehwXKifj7tfMhe4jaOz8F/jY9EIgO+7rlY02l9WZ8KTU9zi
5-
JN7+khkQStniAQ2xN2GO8WaJZb5Q/AY27dR3RGlC1CS+zSYqmn/3VFmbhFrCgxrd
6-
9ql+ktjNOhKcAd+o/7V4JpssilindGyPZvQqxoyrJE7XG1vaUJ/mfAQbTz6ly0qM
7-
5tYvTcbNrjWByhafQ8ZTsO2SzeA1K2i9xipML+uhQrnN34E3oaF0AMsQTqtEaGgk
8-
NIRlL1d7AgMBAAECggEADvu0uAh+zg0zPQ3fSq4MssZk3VwmrWWofR2N2/PSQo1b
9-
uZH3gTaAQApc2HVfZba8Spihxry1UdSwiodkS2izqLlFqmm5yIidXN403MlRjwrp
10-
kt1Nzlb2/KGGFJxY/OWtnnZLJBIOETicHzP6w+MVthOQeg3FbnnP/thCZ+3AFKlr
11-
8XkXb8PbAtrLgOIYavT7XcwRAjogs37W9wZDa5HkGixH6R8PWp8p8Tj++cnegiWZ
12-
kqqxeIVhR1Ztp0NaM52gZNvi/e51fM1bMwbMGmdJguU/dB6O7NzSTYv1df/2WPIe
13-
8lbXMSo3d+RKQVNvPw0H9Zr38ju7xhjLwf8Wqq0p4QKBgQD8wjxhKvjVM2WoQF+k
14-
NRjmbQmgZqdRWPraXf4cFpHKMWVMKyzqLeG49SaMTrxSdSKN4NPYKJkGo3O6Vreo
15-
hwGXhyTRPdqOx8nE9hefFR6SOINcqvjdOiDK5M++HplaA8FbC5gdnrgYgPEU8yer
16-
rvGpZZFYv4yxueCW3SftBLwJcQKBgQC+fWtWhdhpUWPgrv1nbgJYCxRnmgLkwRQF
17-
kbWmX0LTeNodmew55bBe2juGazkMUyqbvTjuclKzQIh4w5zyrWPrkP89wl4cgtAM
18-
Nto9wsn0+m6LTOM3j2pRE0YLnO4+RDhKYEGvg95FqVQKE6kMFWXUuLrIaDYI8hva
19-
wEQDzLkZqwKBgQDAhzN20ES6IWxNvLsdWVSeMHAkvgy06hIqQ25L9uUWHooKeti7
20-
iDdnq1Sxi0fnh1HKwHadME9fvyFnzqYWuL99rHNe7r6MA6KtZMaZZnzi5CkrbRAj
21-
cyOHaMLVDnnBFxsxPqOf7EZOY+k/C/grzhZF8hfEgiOpPOzV/Z9r6y9QAQKBgQCB
22-
VQYbqKRWXTxCwIysPLS6sksYTCjKx4yge12pp+PnUJZGossQRDKLNABWM1Z4V78G
23-
HmMZAeXEbnw6AhX9blv5BGlHtT/Qe8BlipiCdk5IVf/X9EwQ3P6CLWPRXqsi+458
24-
cP4n/JBdG6pDbTXJTn3k/8dRae/GAxuGWiPTsJu8IQKBgDiZiKsdN2sV0GguJY89
25-
cvz62JwELGsA0VvKIQy4+ZRaTmxQByRuz4ad2LWPjWnxRHxnRZQHlrqidzRJhOKn
26-
r2wH35ScNDiuF03q0cf0DoAq/baQ2woNg2gTV5FcEaf1DuLCqiNXsAOfWPyY6hTu
27-
71mg/F74UlfLqZLjgM0Hb8JO
2+
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC4L2NBIvZm3RLx
3+
gdzhPjZQyArWjuq1dEb8bcFaRlhetwVAcPcIW3iS8E6tanKq6VUO+aExdshlStr8
4+
zDmVwvpzc9XgJZrU7/N8ns6aK1exeriK4KCLM04Pqazts0ZZe8OhXynFnU2ErDNZ
5+
nIqy3CAiu60bgZZBt+rVD70mwtLjG493j4L7Qgmk/LpNnaOzBtaMhXUiKSBLbDxl
6+
Ao1dSgzbtxH2b9Vdw9Q2fOkk9+JjDevjN7NHVx7zCOyjCfHsu5XVXk1DCefm9cRB
7+
GCbkx8u8lnuLhwT0tfg9jyW4908Fut+Iy+4cn70X0r8xrXEyiUB26k1YK3Tl183j
8+
+jMSwVgbAgMBAAECggEAUpbVL+EIkilxlB/CNrIZ0vFQgtNFBaalKg3hFKTUfWwe
9+
C75b10CE+YaOEQ7ZajAEtxlSoYZ854bAWXkOHUx314tKjR7vpaoPCYOAavsicG/y
10+
DjwZYTHZQAa6hz/LPNbVayfr6DPYDbTVtcoPG5K/SjPTtLDP+poI0A8lpxrXS4RO
11+
Vpmo3XBOgqSuZm1uA3o/Lqs66tUZVfBtNo7/D4vUebbj0j4GUFPqMQ1kPbquj61p
12+
/mg87xejmFf7kfw/49f75ETaw08vh2J+7ubJMv8D4p8C0biUrBbqzYRpxWiw96WG
13+
alcBwU+m+meuPGK8Chpg7vQCv6FjJp74MuDkmOG/CQKBgQDhyNIsiEpEvZVcKM/0
14+
wYzutTaZGCqPPhsGAZVGB7ers+waGGHuMCb+VyR2AVnd0Zi9s5oRQzEDQt0DZolB
15+
Iy4PjP5MDTmbUlWRsHDeQh+SvXV6LzU3YVrzJhvKbYB1Ak+CrfmzvaIFTYxxgfFP
16+
e4bRDRzuNUJctwBPnikmEIH2LwKBgQDQ1WjDlXaW1rzBgRn9pqb7JWbNSBABVz5i
17+
zITCTrVNlcUwHYbEmY2EMfwf3c4ndnGwpgSoqzW4ukEUk1SEOCTygF1vQlLXBCFx
18+
4CWWp+8vq4BCionUtotRBAxwOsuiwSFrnOou8GNwCwdpJxkNQxfE2eZyCM0tMdQm
19+
UNF2/irt1QKBgGNrhHCrith+CpjMN9X0rFQoY2RCaestU8TvSYXOvCfVUC+lcOnr
20+
NiBkyt9TdPjh5DoULdFQHvLqrFtk+Sc/kHa0hP2EDUvBk4BViz2zLCf3WRV2WB6M
21+
tfm/XBlk4l2jqNNIPF3TMNbY8PDCYTm4kQLYnVafCRu+UVq9sCzcs/1tAoGAU8Kl
22+
CH10WT+76akMca5cHzN7Li8PLFp/zUTWotDK61l9A7V0DnrARht+UpG2VCGvq/iK
23+
udQh8fvSipwlM/sI5rMRxsRFUbR4baJHsUueJfKVuRqz+btV2aLUEleiwZ7Q9saz
24+
Lyx/1bq2uDhUVftpFy2GvopFMTFhNBUKTr3XHhkCgYEAlT6kBYPBr21uNe6Kpkbw
25+
fsIaiaypxKtY29kFkALu9AX+B8JExacq1AgdnNgFxwAUA0lpBXOkkGClkSiF0vK7
26+
LdHIPBlkgwKLVL6fqmQ3cfwQV82jIoesiEMvvHOyAvPYQkkYTZK46vl4XH52+WTr
27+
LEluqA2De7Zc9mdvWENRT00=
2828
-----END PRIVATE KEY-----

0 commit comments

Comments
 (0)