Skip to content

Commit 2b278c3

Browse files
committed
Merge branch 'SID' of gitlab.ext.cyber.ee:cdoc2/cdoc2-java-ref-impl
# Conflicts: # cdoc2-cli/src/main/java/ee/cyber/cdoc2/cli/commands/CDocDecryptCmd.java # cdoc2-cli/src/main/java/ee/cyber/cdoc2/cli/commands/CDocListCmd.java # cdoc2-cli/src/main/java/ee/cyber/cdoc2/cli/commands/CDocReEncryptCmd.java # cdoc2-cli/src/main/java/ee/cyber/cdoc2/cli/util/CDocDecryptionHelper.java # cdoc2-cli/src/test/java/cli/CDocCliTest.java # cdoc2-lib/src/main/java/ee/cyber/cdoc2/client/KeyCapsuleClientImpl.java
2 parents 6554459 + 14577a1 commit 2b278c3

File tree

260 files changed

+11113
-1310
lines changed

Some content is hidden

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

260 files changed

+11113
-1310
lines changed

.gitignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,3 @@ hs_err_pid*
3030

3131
/doc/
3232
/test/testvectors/zipbomb.cdoc
33-
34-
/test/bats/keys
35-
/test/bats/config

.gitlab-ci.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
variables:
2+
DOCKER_TLS_CERTDIR: ""
3+
DOCKER_HOST: "tcp://docker:2375"
4+
15
stages:
26
- test
37
- coverage
@@ -6,6 +10,11 @@ stages:
610
test:
711
stage: test
812
image: maven:3.8.8-eclipse-temurin-17
13+
# services:
14+
# - name: docker:25.0.3-dind
15+
# alias: docker
16+
# tags:
17+
# - dind
918
script:
1019
- mvn clean verify -s $MAVEN_SETTINGS -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository
1120
- shopt -s globstar
@@ -14,6 +23,10 @@ test:
1423
- source install_bats.sh
1524
- source variables.sh
1625
- $BATS_HOME/bats-core/bin/bats --gather-test-outputs-in target/reports -x --report-formatter junit --output target/ cdoc2_tests.bats
26+
# following will fail because docker-compose-plugin is not available from Jammy repository
27+
# - apt-get update && apt-get install -y docker.io docker-compose-plugin
28+
# - source ../config/shares-server/export-env.sh ../config/shares-server/.env.cyber
29+
# - bash run-shares-server-bats-tests.sh
1730
- 'for file in target/reports/*; do echo "## $file ##" >> target/bats-test.log; cat "$file" >> target/bats-test.log; done'
1831
coverage: /Total \d+\.\d+ %/
1932
artifacts:
@@ -36,6 +49,58 @@ test:
3649
paths:
3750
- .m2/repository
3851

52+
test_with_servers:
53+
# this will fail as docker image is based on alpine linux and flatc installation fails
54+
# use build from previous stage?
55+
stage: test
56+
image: docker:25.0.3
57+
services:
58+
- name: docker:25.0.3-dind
59+
alias: docker
60+
tags:
61+
- dind
62+
before_script:
63+
# Install Java
64+
- apk add --no-cache openjdk17
65+
# Install Maven
66+
- apk add --no-cache maven
67+
# Verify installations
68+
- java -version
69+
- mvn -version
70+
- docker compose version
71+
script:
72+
- mvn clean verify -s $MAVEN_SETTINGS -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository
73+
- shopt -s globstar
74+
- awk -F"," '{ instructions += $4 + $5; covered += $5 } END { print covered, "/", instructions, " instructions covered"; print "Total", 100*covered/instructions, "% covered" }' /builds/**/target/site/jacoco/jacoco.csv
75+
- cd test/bats
76+
- source install_bats.sh
77+
- source variables.sh
78+
- source ../config/shares-server/export-env.sh ../config/shares-server/.env.cyber
79+
- BATS_OPTS="--gather-test-outputs-in target/reports -x --report-formatter junit --output target/" bash run-shares-server-bats-tests.sh
80+
- 'for file in target/reports/*; do echo "## $file ##" >> target/bats-test.log; cat "$file" >> target/bats-test.log; done'
81+
coverage: /Total \d+\.\d+ %/
82+
artifacts:
83+
when: always
84+
reports:
85+
junit:
86+
- "**/target/surefire-reports/*.xml"
87+
- "**/target/report.xml"
88+
paths:
89+
- "**/target/site/jacoco"
90+
- "**/target/bats-test.log"
91+
rules:
92+
# disabled for now
93+
# - if: $CI_PIPELINE_SOURCE == "merge_request_event"
94+
# when: on_success
95+
# - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
96+
# when: on_success
97+
- when: never
98+
cache:
99+
key: "$CI_COMMIT_REF_NAME"
100+
paths:
101+
- .m2/repository
102+
103+
39104
coverage:
40105
stage: coverage
41106
image: mcr.microsoft.com/dotnet/sdk:8.0

README.md

Lines changed: 63 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -139,23 +139,76 @@ Similar to Symmetric Key scenario, but symmetric key is derived from password an
139139
cdoc2-java-ref-impl does not provide solution for securely storing the password, but most password managers
140140
can do that.
141141

142+
### CDOC2 with symmetric key from/to N-of-N shares (Smart-ID/Mobile-ID)
143+
144+
1. Sender knows recipient id-code and assumes that recipient might have Smart-ID or Mobile-ID account.
145+
_Note:_ No way to check if recipient has existing Smart-ID or Mobile-ID account.
146+
2. Sender [generates file master key (FMK)](https://github.com/open-eid/cdoc2-java-ref-impl/blob/main/cdoc20-lib/src/main/java/ee/cyber/cdoc20/crypto/Crypto.java#L94)
147+
(FMK) using HKDF extract algorithm `HKDF_Extract(Static_FMK_Salt, CSRNG())`.
148+
3. Sender [generates encryption key (KEK)] using HKDF `HKDF_Expand(KEK_i_pm, "CDOC2kek" + FMKEncryptionMethod.XOR + RecipientInfo_i, 32)`,
149+
where `KEK_i_pm = HKDF_Extract(CSRNG(256), CSRNG(256))` and `RecipientInfo_i` is a recipient
150+
identifier `etsi/PNOEE-48010010101`.
151+
4. Sender splits `KEK` into `N` shares. `N` equals to configured servers quantity in CDOC2
152+
client configuration.
153+
```java
154+
public static List<byte[]> splitKek(byte[] kek, int numOfShares) {
155+
ArrayList<byte[]> shares = new ArrayList<>(numOfShares);
156+
shares.add(kek);
157+
158+
for (int i=1; i < numOfShares; i++) {
159+
byte[] share = new byte[kek.length];
160+
sRnd.nextBytes(share);
161+
shares.add(share);
162+
shares.set(0, xor(shares.get(0), share));
163+
}
164+
return shares;
165+
}
166+
```
167+
5. Sender uploads each `share` and recipient `etsi_identifier` to each CDOC2 shares server
168+
(each CDOC2 server will receive a different share). CDOC2 servers are configured in client configuration.
169+
Sender gets `shareID` for each share. [^1] FBS and OAS
170+
6. Sender [derives content encryption key](https://github.com/open-eid/cdoc2-java-ref-impl/blob/4fa3028298e7f1ea5414e3215dbfd8b0e9b49409/cdoc20-lib/src/main/java/ee/cyber/cdoc20/crypto/Crypto.java#L100) (CEK) `HKDF_Expand(FMK,"CDOC20cek")`and hmac key
171+
(HHK) `HKDF_Expand(FMK,"CDOC20hmac")` from FMK using HKDF expand algorithm.
172+
7. Sender encrypts FMK with KEK (xor) and gets `encrypted_FMK`
173+
8. Sender adds `encrypted FMK` and [KeySharesCapsule](https://github.com/open-eid/cdoc2-java-ref-impl/blob/a2dbe6711d88d2442e23d4ca80494f285f4d00cd/cdoc2-schema/src/main/fbs/recipients.fbs#L92)
174+
containing recipient_id `etsi_identifier` with list of `server:shareId` into CDOC2 header.
175+
9. Sender calculates header hmac using hmac key (HHK) and adds calculated hmac to CDOC2
176+
10. Sender encrypts content with CEK (ChaCha20-Poly1305 with AAD)
177+
11. Sender sends CDOC2 document to Recipient
178+
12. Recipient will choose Smart-ID or Mobile-ID decryption method (depending on what auth means he owns) and
179+
enters/chooses his/her identity code.
180+
For Mobile-ID, user needs to enter mobile phone number additionally to identity code.
181+
13. Recipient finds `KeySharesCapsule` record from CDOC2 header where `recipient_id` matches
182+
recipients entered identity code.
183+
14. Recipient [prepares](https://open-eid.github.io/CDOC2/2.0-Draft/03_system_architecture/ch05_ID_authentication_protocol/#overview-of-the-generic-authentication-protocol)
184+
auth token by creating `nonce` for each share in [shares](https://github.com/open-eid/cdoc2-java-ref-impl/blob/a2dbe6711d88d2442e23d4ca80494f285f4d00cd/cdoc2-schema/src/main/fbs/recipients.fbs#L93).
185+
`nonce` is created by using [`/key-shares/{shareId}/nonce`](https://github.com/open-eid/cdoc2-openapi/blob/55a0b02adae0d8c61f2589a47555a93e4cf31971/cdoc2-key-shares-openapi.yaml#L105)
186+
endpoint in each `cdoc2-shares-server`.
187+
15. Recipient finishes creation of auth token by signing it with supported auth means (currently Smart-ID/Mobile-ID authentication certificate).
188+
16. Recipient downloads all `share` objects by presenting [auth token](https://github.com/open-eid/cdoc2-auth?tab=readme-ov-file#cdoc2auth-tokenv1-examples)
189+
and certificate using '/key-shares/{shareId}' [endpoint](https://github.com/open-eid/cdoc2-openapi/blob/55a0b02adae0d8c61f2589a47555a93e4cf31971/cdoc2-key-shares-openapi.yaml#L32).
190+
17. Recipient [combines](https://github.com/open-eid/cdoc2-java-ref-impl/blob/a2dbe6711d88d2442e23d4ca80494f285f4d00cd/cdoc2-lib/src/main/java/ee/cyber/cdoc2/crypto/Crypto.java#L376)
191+
downloaded `share` [objects](https://github.com/open-eid/cdoc2-openapi/blob/55a0b02adae0d8c61f2589a47555a93e4cf31971/cdoc2-key-shares-openapi.yaml#L144) into `KEK`
192+
18. *Follow steps from ECDH scenario 13-15*
142193

143194

144195
## Structure
145-
[![CDOC2 Dependencies](./cdoc2-docs/arch/images/cdoc2-deps.png)](https://viewer.diagrams.net/?tags=%7B%7D&highlight=0000ff&edit=_blank&layers=1&nav=1&title=CDOC2%20deps#R3VjbcpswEP0aPybDpWDnMb4knY7bycQzbZ03BTagVCAiCxvn6yuZxYjBdpOpEzx%2Bsvbs6sI5q11wzx0lxa0gWfydh8B6jhUWPXfccxzb8x31o5F1iQz8fglEgoYYVAMz%2BgoIWojmNIRFI1ByziTNmmDA0xQC2cCIEHzVDHvirLlrRiLc0aqBWUAYtMJ%2B0VDGiNqWEf4VaBTj1gMPHQmpghFYxCTkKwNyJz13JDiX5SgpRsA0eRUv5bybPd7twQSk8i0TnucvM7h6%2BnMzvh4%2B59l1dHPPLmwfDyfX1RNDqAhAkwsZ84inhE1qdCh4noagl7WUVcdMOc8UaCvwGaRco5okl1xBsUwYeqGg8rcxnuulLj20xgWuvDHWaKTcOMJmZnlyfdy9jCC04LkIMOoh96h1%2B230egdT9%2BVe%2Fnj8mV9gkkoiIpAH4rytbirhgScgxVrNE8CIpMvmOQhmXrSNq8VRA9TnPVoNutTKuvSvDLnsg2IpAcS6nNX3KntuOut5G2u%2FynrdOxBUcQgCoz5W%2BZ3k%2B5%2Bk%2FKFDLgnLcSdGH1vJoApMpocJD%2FON9oTRKFUAgyf1aMNFRgKaRtONNXYsIyJQvGl2h0sQkqrqd40OqbNkuIqphJmarpdfqULfTJG97OvVoDCgNoGVt4%2FPiG3CxaK5MmpuVXJjo9xW1fbolLstynuOzzSNIV2qYaSHPIOUZLTyqI0M51nrsyW%2BM4G8lkCLIIaEnBXtbofXYncP%2BtJFDzpW79%2F5SO4be7%2FTZe9vl6OA0VNL9VZe7xBkf6pb%2F8r0q09N9P5pJLrxJuW8603qiDfEe%2BMNcbu8ITv6AQiVkWd1SZzmJbH9rvuBv6su6Yc5K9b7p0a77XZRnYxa5P%2FvV532H%2Bez7lBennbJsr2OVWyIaL9bxA5azAe9hCmz%2FiNu4zP%2BznQnfwE%3D)
196+
[![CDOC2 Dependencies](./cdoc2-docs/img/deps.drawio.png)](https://viewer.diagrams.net/?tags=%7B%7D&lightbox=1&highlight=0000ff&edit=_blank&layers=1&nav=1#R%3Cmxfile%3E%3Cdiagram%20id%3D%22cR2MIER7KRh0lRtEKnlR%22%20name%3D%22Page-1%22%3E3VjbcpswEP0aP9rDJRD86EucTifteOKZtOmbAjIoEYgIYZt8fSUjgriY0DQNHT9ZOtpdSWcvWjMyF%2BHhmoI4%2BEY8iEeG5h1G5nJkGLplG%2FxHIFmOOLaTAz5FnhQqgQ16gRLUJJoiDyYVQUYIZiiugi6JIuiyCgYoJfuq2Jbg6q4x8OWOWglsXIBhQ%2BwH8lggUV1TxL9A5Adya8eSCyEohCWQBMAjewUyr0bmghLC8lF4WEAsyCt4yfVWJ1ZfD0ZhxPooPN4%2Fb%2BB0%2B7RazuaPaTzzV7d4rNvycCwrbgw9ToCcEsoC4pMI4KsSnVOSRh4UZjU%2BK2VuCIk5qHPwETKWSW%2BClBEOBSzEchUeEPupjO%2BFqYklZ8uDtHycZHISEeUIR80mAZKThKTUlbf5lVpIu%2F66eFnDG%2FP5ln1%2FuEvHMiYZoD5kHXJWLicYUTaQ9F5DEkJGMy5AIQYM7aohA2Tk%2Ba9ypXP4QPrnT3zlDOkrbWJPFXfpnc7iHqGZqiXmQm2sTTSnAErd4%2By0p4XtNaSI8wipqlMHPzQkWp1gDxUSXafeAZzKnTB6aEQJrzyxGIbES49BATDyIw5guOV3nScxcFHk3xxnS0NTJFxOpGB3voOUIV4WZ3KBifCZ7wPE4IarC%2FN7%2FgJUY%2BekO4Q1eOgksFi9lHeU74cpq%2BleKcZFLQ6UOlyU4Q%2Bn3GxQPjJsLGj00I4PfTEkMYxAjIoVvpGyeNb%2BMbShHWQ1HJS4AQzBWdFuXmiDpUX743QxxOP0zqag9QZmz6bA%2BK%2BagmY5cjE6r1B%2FM9Knnxnodhvh4nbnxHm9quvG4PXFHKK%2BqH2spfaxZdfau4dt61eV5vpSba4n2kV3f93SEL%2B%2F8tk9K5%2F50ZVPqq4JEvlTBF894%2FVpLajyC0mtWly9HqNXqG3Q3Rbs3ZWz1FY0A8H64ellXGRLmeE8MIKzyu96%2B6Drn5jfraS3tdX1fI%2B8mfiiIwjEIEmQW%2BWlmu1t3xj6%2Fmk9nel6M9X%2F%2FR%2FRrih9MxkVj1odDv3bnDVqr7TTL2ebhi5rhsyaoZyYdyQ%2Fn5Yf23Lx8pOlefUb%3C%2Fdiagram%3E%3C%2Fmxfile%3E)
146197

147198
- cdoc2-schema - flatbuffers schemas and code generation
148199
- cdoc2-lib - CDOC2 creation and processing library
149-
- cdoc2-client - client for communicating with [cdoc2-capsule-server](https://github.com/open-eid/cdoc2-capsule-server)
200+
- cdoc2-client - Code generation for `cdoc2-capsule-server` and `cdoc2-shares-server` clients
150201
- cdoc2-cli - Command line utility to create/process CDOC2 files
151202
- test - Sample CDOC2 containers (with script to create and decrypt them)
152-
and automated tests for CLI
153-
- cdoc2-example-app - Example, how to use cdoc2-java-ref-impl and cdoc4j together
203+
and automated end-to-end (bats) tests for CLI
204+
- cdoc2-example-app - Example, how to use `cdoc2-java-ref-impl` and `cdoc4j` together
154205

155206
Other CDOC2 repositories:
156207
- https://github.com/open-eid/cdoc2-openapi CDOC2 OpenAPI specifications
157-
- https://github.com/open-eid/cdoc2-capsule-server CDOC2 Capsule Server
158-
- https://github.com/open-eid/cdoc2-gatling-tests Gatling tests for CDOC2 Capsule Server
208+
- https://github.com/open-eid/cdoc2-capsule-server CDOC2 Capsule Server (server scenarios with id-card)
209+
- https://github.com/open-eid/cdoc2-shares-server CDOC2 Shares Server (encryption/decryption Smart-ID/Mobile-ID scenarios)
210+
- https://github.com/open-eid/cdoc2-auth CDOC2 auth token implementation (used for Smart-ID/Mobile-ID scenarios)
211+
- https://github.com/open-eid/cdoc2-gatling-tests Gatling tests for CDOC2 Capsule Server and CDOC2 Shares Server
159212

160213
## Using
161214

@@ -168,12 +221,13 @@ Refer [cdoc2-lib/README.md](cdoc2-lib/README.md) and see [cdoc2-example-app](cdo
168221
## Maven dependencies
169222

170223
Depends on:
171-
https://github.com/open-eid/cdoc2-openapi OpenAPI specifications for client stub generation
224+
- https://github.com/open-eid/cdoc2-openapi OpenAPI specifications for client stub generation
225+
- https://github.com/open-eid/cdoc2-auth CDOC2 auth token used by Smart-ID/Mobile-ID scenario
172226

173227
Configure github package repo access
174228
https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry#authenticating-with-a-personal-access-token
175229

176-
Add repository url to `<profile>` section of your PC local file `.m2/settings.xml` for using cdoc2
230+
Add repository url to `<profile>` section of your PC local file `~/.m2/settings.xml` for using cdoc2
177231
dependencies:
178232
```xml
179233
<profile>
@@ -257,7 +311,7 @@ mvn test -Dtests=pkcs11 -Dcdoc2.pkcs11.conf-file=src/test/resources/pkcs11-test-
257311

258312
By default, the pkcs11 configuration is read from the file `pkcs11-test-idcard.properties`.
259313

260-
### Bats tests
314+
### Bats tests (end to end)
261315

262316
Additional tests using [Bats](https://github.com/bats-core/bats-core) and `cdoc2-cli`.
263317
Refer [test/README.md](test/README.md)

cdoc2-cli/README.md

Lines changed: 78 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,50 @@ java -jar target/cdoc2-cli-*.jar decrypt --secret "label_b64secret:base64,aejUgx
119119
Key and label can be safely stored in a password manager.
120120

121121

122+
### Encryption with Smart ID
123+
124+
```
125+
java -jar target/cdoc2-cli-*.jar create --smart-id=38001085718 -f /tmp/smartid.cdoc README.md
126+
```
127+
128+
Multiple ID codes are allowed to be sent for encryption:
129+
130+
```
131+
java -jar target/cdoc2-cli-*.jar create -sid=38001085718 -sid=47101010033 -f /tmp/smartid.cdoc README.md
132+
```
133+
134+
Key shares or Smart-ID properties can be sent externally by adding following options (the same
135+
for decryption):
136+
137+
`-Dkey-shares.properties=config/localhost/key-shares.properties`
138+
139+
and/or
140+
141+
`-Dsmart-id.properties=config/smart-id/smart-id.properties`
142+
143+
144+
### Encryption with Mobile ID
145+
146+
```
147+
java -jar target/cdoc2-cli-*.jar create --mobile-id=51307149560 -f /tmp/mobileid.cdoc README.md
148+
```
149+
150+
Multiple ID codes are allowed to be sent for encryption:
151+
152+
```
153+
java -jar target/cdoc2-cli-*.jar create -mid=51307149560 -mid=60001017869 -f /tmp/mobileid.cdoc README.md
154+
```
155+
156+
Key shares or Mobile-ID properties can be sent externally by adding following options (the same
157+
for decryption):
158+
159+
`-Dkey-shares.properties=config/localhost/key-shares.properties`
160+
161+
and/or
162+
163+
`-Dmobile-id.properties=config/mobile-id/mobile-id.properties`
164+
165+
122166
### Decryption
123167
To decrypt:
124168
- CDOC2 file `/tmp/mydoc.cdoc`
@@ -129,6 +173,18 @@ To decrypt:
129173
java -jar target/cdoc2-cli-*.jar decrypt --file /tmp/mydoc.cdoc -k keys/bob.pem --output /tmp
130174
```
131175

176+
or with Smart-ID:
177+
178+
```
179+
java -jar target/cdoc2-cli-*.jar decrypt -sid=38001085718 -f /tmp/smartid.cdoc --output /tmp
180+
```
181+
182+
or with Mobile-ID:
183+
184+
```
185+
java -jar target/cdoc2-cli-*.jar decrypt -mid=51307149560 -mid-phone=+37269930366 -f /tmp/mobileid.cdoc --output /tmp
186+
```
187+
132188
### Decrypting with server scenario
133189
Server must be running, see cdoc2-capsule-server/README.md for starting the server
134190

@@ -205,8 +261,8 @@ java -jar target/cdoc2-cli-*.jar info -f /tmp/id.cdoc
205261

206262
### Encrypting for ID-card owner
207263

208-
cdoc2-cli can download authentication certificate (Isikutuvastus PIN1) from SK LDAP directory
209-
https://www.skidsolutions.eu/repositoorium/ldap/esteid-ldap-kataloogi-kasutamine/
264+
cdoc2-cli can download authentication certificate (Isikutuvastus PIN1) from SK LDAP directory
265+
https://github.com/SK-EID/LDAP/wiki/Knowledge-Base
210266

211267
To create cdoc for recipient with id code 37101010021 use:
212268
```
@@ -368,3 +424,23 @@ default true
368424

369425
Key label `<data>` field contains different parameters. File name is one of them. For security
370426
purpose it can be hidden in configuration. File name is added by default.
427+
428+
#### ee.cyber.key-shares.properties
429+
CLI option which indicates the path to key capsule client key-shares properties file.
430+
- ##### ee.cyber.key-shares.urls
431+
Key shares servers URL-s, separated by comma `","`
432+
- ##### ee.cyber.key-shares.min_num
433+
Minimum quantity of key shares servers
434+
- ##### ee.cyber.key-shares.algorithm
435+
Key shares algorithm
436+
437+
#### ee.cyber.smart-id.properties
438+
CLI option which indicates the path to smart-id properties file.
439+
- ##### ee.cyber.smartid.client.hostUrl
440+
Smart ID client host URL
441+
- ##### ee.cyber.smartid.client.relyingPartyUuid
442+
Smart ID client relying party UUID
443+
- ##### ee.cyber.smartid.client.relyingPartyName
444+
Smart ID client relying party name
445+
- ##### ee.cyber.smartid.client.ssl.trust-store-password
446+
Smart ID client SSL trust store password
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
key-shares.servers.urls=https://localhost:8442, https://localhost:8443
2+
key-shares.servers.min_num=2
3+
key-shares.algorithm=n-of-n
4+
5+
# trusted certificates by client
6+
cdoc2.key-shares.client.ssl.trust-store=config/localhost/clienttruststore.jks
7+
cdoc2.key-shares.client.ssl.trust-store.type=JKS
8+
cdoc2.key-shares.client.ssl.trust-store-password=passwd

cdoc2-cli/config/localhost/localhost.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ cdoc2.client.server.read-timeout=5000
1414

1515
# trusted certificates by client
1616
cdoc2.client.ssl.trust-store.type=JKS
17-
#specify trust store jks as file in classpath
18-
#cdoc2.client.ssl.trust-store=classpath:keystore/clienttruststore.jks
19-
#or path (full or relative)
17+
# specify trust store jks as file in classpath
18+
# cdoc2.client.ssl.trust-store=classpath:keystore/clienttruststore.jks
19+
# or path (full or relative)
2020
cdoc2.client.ssl.trust-store=config/localhost/clienttruststore.jks
2121
cdoc2.client.ssl.trust-store-password=passwd
2222

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
-----BEGIN CERTIFICATE-----
2+
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
33+
NUjXTJ+xYtwhEb95mb35idSv+ZLqTGU71rCV
34+
-----END CERTIFICATE-----

0 commit comments

Comments
 (0)