Skip to content

Commit a9185d6

Browse files
authored
Merge pull request #56 from shingo78/feature/embedded-metadata-signing-certificates
Embed metadata signing certificates
2 parents 3965846 + 6adcb6b commit a9185d6

3 files changed

Lines changed: 38 additions & 4 deletions

File tree

auth-proxy/Dockerfile

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,30 @@ ENV PATH=/opt/venv/bin:$PATH
147147
# Install config template files
148148
COPY resources/etc/templates /etc/templates
149149

150+
# Metadata signing cerfiticates
151+
ENV SIGNING_CERT_DIR=/var/www/simplesamlphp/signing-cert \
152+
GAKUNIN_SIGNER_FILENAME=gakunin-signer.cer \
153+
GAKUNIN_SIGNER_SHA256=5E:D6:A8:C5:E9:30:49:3F:B4:BA:77:54:6A:FB:66:BA:14:7D:CB:50:5B:EF:0F:D9:7C:26:04:C2:D9:36:FD:81 \
154+
GAKUNINTEST_SIGNER_FILENAME=gakunintest-signer.cer \
155+
GAKUNINTEST_SIGNER_SHA256=FA:11:11:5B:EC:13:4D:55:85:AF:60:32:E1:6C:01:01:EF:9C:A0:6B:17:8C:8B:9C:7F:2B:69:41:EB:68:30:1E \
156+
ORTHROS_SIGNER_FILENAME=orhtoros-signer.cer \
157+
ORTHROS_SIGNER_SHA256=C7:AE:69:98:AC:E7:6A:C2:83:CC:5F:99:0A:C1:3C:A1:62:3D:F6:84:AA:7B:08:30:37:2D:DA:6B:82:AB:BA:44 \
158+
ORTHROSSTG_SIGNER_FILENAME=orthrosstg-signer.cer \
159+
ORTHROSSTG_SIGNER_SHA256=A3:AF:64:82:1B:BF:C9:28:E9:E7:0D:5E:7C:04:41:1C:2D:87:47:1F:45:1D:24:32:B6:31:FF:91:B5:71:53:0D
160+
RUN mkdir -p $SIGNING_CERT_DIR && \
161+
curl -q -L -o ${SIGNING_CERT_DIR}/${GAKUNIN_SIGNER_FILENAME} https://metadata.gakunin.nii.ac.jp/gakunin-signer-2017.cer && \
162+
curl -q -L -o ${SIGNING_CERT_DIR}/${GAKUNINTEST_SIGNER_FILENAME} https://metadata.gakunin.nii.ac.jp/gakunin-test-signer-2020.cer && \
163+
curl -q -L -o ${SIGNING_CERT_DIR}/${ORTHROS_SIGNER_FILENAME} https://core.orthros.gakunin.nii.ac.jp/metadata/orthros-signer-2025.cer && \
164+
curl -q -L -o ${SIGNING_CERT_DIR}/${ORTHROSSTG_SIGNER_FILENAME} https://core-stg.orthros.gakunin.nii.ac.jp/metadata/orthrosstg-signer-2025.cer && \
165+
test "${GAKUNIN_SIGNER_SHA256}" = \
166+
"$(openssl x509 -fingerprint -sha256 -noout -in ${SIGNING_CERT_DIR}/${GAKUNIN_SIGNER_FILENAME} | awk -F = '{print $2}')" && \
167+
test "${GAKUNINTEST_SIGNER_SHA256}" = \
168+
"$(openssl x509 -fingerprint -sha256 -noout -in ${SIGNING_CERT_DIR}/${GAKUNINTEST_SIGNER_FILENAME} | awk -F = '{print $2}')" && \
169+
test "${ORTHROS_SIGNER_SHA256}" = \
170+
"$(openssl x509 -fingerprint -sha256 -noout -in ${SIGNING_CERT_DIR}/${ORTHROS_SIGNER_FILENAME} | awk -F = '{print $2}')" && \
171+
test "${ORTHROSSTG_SIGNER_SHA256}" = \
172+
"$(openssl x509 -fingerprint -sha256 -noout -in ${SIGNING_CERT_DIR}/${ORTHROSSTG_SIGNER_FILENAME} | awk -F = '{print $2}')"
173+
150174
# Set the current working directory
151175
WORKDIR /var/www/html
152176

auth-proxy/resources/etc/templates/federation/module_metarefresh-test.php.j2

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ $config = [
88
[
99
'src' => 'https://metadata.gakunin.nii.ac.jp/gakunin-test-metadata.xml',
1010
'certificates' => [
11-
'gakunin-signer.cer'
11+
'{{ environ("SIGNING_CERT_DIR") }}/{{ environ("GAKUNINTEST_SIGNER_FILENAME") }}'
1212
],
13-
'validateFingerprint' => 'FA:11:11:5B:EC:13:4D:55:85:AF:60:32:E1:6C:01:01:EF:9C:A0:6B:17:8C:8B:9C:7F:2B:69:41:EB:68:30:1E',
13+
'validateFingerprint' => '{{ environ("GAKUNINTEST_SIGNER_SHA256") }}',
1414
'validateFingerprintAlgorithm' => 'XMLSecurityDSig::SHA256'
1515
]
1616
],
@@ -23,6 +23,11 @@ $config = [
2323
'sources' => [
2424
[
2525
'src' => 'https://core-stg.orthros.gakunin.nii.ac.jp/metadata/orthrosstg-idp-metadata.xml',
26+
'certificates' => [
27+
'{{ environ("SIGNING_CERT_DIR") }}/{{ environ("ORTHROSSTG_SIGNER_FILENAME") }}'
28+
],
29+
'validateFingerprint' => '{{ environ("ORTHROSSTG_SIGNER_SHA256") }}',
30+
'validateFingerprintAlgorithm' => 'XMLSecurityDSig::SHA256'
2631
]
2732
],
2833
'outputDir' => 'metadata/orthros-metadata/',

auth-proxy/resources/etc/templates/federation/module_metarefresh.php.j2

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ $config = [
88
[
99
'src' => 'https://metadata.gakunin.nii.ac.jp/gakunin-metadata.xml?generation=2',
1010
'certificates' => [
11-
'gakunin-signer.cer'
11+
'{{ environ("SIGNING_CERT_DIR") }}/{{ environ("GAKUNIN_SIGNER_FILENAME") }}'
1212
],
13-
'validateFingerprint' => '5E:D6:A8:C5:E9:30:49:3F:B4:BA:77:54:6A:FB:66:BA:14:7D:CB:50:5B:EF:0F:D9:7C:26:04:C2:D9:36:FD:81',
13+
'validateFingerprint' => '{{ environ("GAKUNIN_SIGNER_SHA256") }}',
1414
'validateFingerprintAlgorithm' => 'XMLSecurityDSig::SHA256'
1515
]
1616
],
@@ -34,6 +34,11 @@ $config = [
3434
'sources' => [
3535
[
3636
'src' => 'https://core.orthros.gakunin.nii.ac.jp/metadata/orthros-idp-metadata.xml',
37+
'certificates' => [
38+
'{{ environ("SIGNING_CERT_DIR") }}/{{ environ("ORTHROS_SIGNER_FILENAME") }}'
39+
],
40+
'validateFingerprint' => '{{ environ("ORTHROS_SIGNER_SHA256") }}',
41+
'validateFingerprintAlgorithm' => 'XMLSecurityDSig::SHA256'
3742
]
3843
],
3944
'outputDir' => 'metadata/orthros-metadata/',

0 commit comments

Comments
 (0)