|
4 | 4 | url: http://ria.ee |
5 | 5 | title: cdoc2-key-shares |
6 | 6 | version: 1.0.1-draft |
7 | | - description: API for exchanging CDOC2 key material shares |
| 7 | + description: | |
| 8 | + API for exchanging CDOC2 key material shares. |
| 9 | + |
| 10 | + `KeyShare` objects defined here are created by splitting cryptographic material required for |
| 11 | + encrypting/decrypting CDOC2 document. `KeyShare` objects required for combining original cryptographic material |
| 12 | + are stored in CDOC2 header `KeySharesCapsule` [FBS](https://github.com/open-eid/cdoc2-java-ref-impl/blob/master/cdoc2-schema/src/main/fbs/recipients.fbs) object. |
| 13 | + |
| 14 | + To access `KeyShare` objects, recipient must authenticate himself by including `x-cdoc2-auth-ticket` |
| 15 | + and `x-cdoc2-auth-x5c` headers for `getKeyShareByShareId` operation. |
| 16 | + |
| 17 | + * `x-cdoc2-auth-ticket` is sd-jwt defined in WIP https://open-eid.github.io/CDOC2/2.0/ . |
| 18 | + Java implementation for `x-cdoc2-auth-ticket` can be found WIP https://github.com/open-eid/cdoc2-auth |
| 19 | + `x-cdoc2-auth-ticket` is signed by Smart-ID [authentication](https://github.com/SK-EID/smart-id-documentation?tab=readme-ov-file#2310-authentication-session) |
| 20 | + certificate or [Mobile-ID authentication](https://github.com/SK-EID/MID?tab=readme-ov-file#32-initiating-signing-and-authentication) certificate. |
| 21 | + * `x-cdoc2-auth-x5c` is PEM encoded X509 certificate (without newlines) that was used to sign x-cdoc2-auth-ticket. |
| 22 | + Certificate holders identify is specified in Subject "serialnumber" field. Example certificate subject: |
| 23 | + 'serialNumber = PNOEE-30303039914, GN = OK, SN = TESTNUMBER, CN = "TESTNUMBER,OK", C = EE' |
| 24 | + Certificate full structure is defined in |
| 25 | + [Certificate and OCSP Profile for Smart-ID](https://www.skidsolutions.eu/wp-content/uploads/2024/10/SK-CPR-SMART-ID-EN-v4_7-20241127.pdf) |
| 26 | +
|
8 | 27 | servers: |
9 | 28 | - url: 'https://localhost:8443' |
10 | 29 | description: Regular TLS (no mutual TLS required). |
|
38 | 57 | type: string |
39 | 58 | required: true |
40 | 59 | description: | |
41 | | - PEM encoded X509 certificate (without newlines) that was used to sign X-Cdoc2-Auth-Ticket. |
42 | | - Certificate holders identify is specified in Subject "serialnumber" field. This must match to |
43 | | - "kid" in "x-cdoc2-auth-ticket" header. Example certificate subject: |
| 60 | + PEM encoded X509 certificate (without newlines) that was used to sign x-cdoc2-auth-ticket. |
| 61 | + Certificate holders identify is specified in Subject "serialnumber" field. Example certificate subject: |
44 | 62 | 'serialNumber = PNOEE-30303039914, GN = OK, SN = TESTNUMBER, CN = "TESTNUMBER,OK", C = EE' |
45 | 63 | Certificate full structure is defined in |
46 | 64 | [Certificate and OCSP Profile for Smart-ID](https://www.skidsolutions.eu/wp-content/uploads/2024/10/SK-CPR-SMART-ID-EN-v4_7-20241127.pdf) |
@@ -132,13 +150,16 @@ components: |
132 | 150 | format: byte |
133 | 151 | minLength: 32 |
134 | 152 | maxLength: 128 |
135 | | - description: Key Share. Binary format is yet to be defined [#RM-55912](https://rm-int.cyber.ee/ito/issues/55912) |
| 153 | + description: | |
| 154 | + Base64 encoded Key Share. Binary format. |
| 155 | +
|
136 | 156 | recipient: |
137 | 157 | type: string |
138 | 158 | minLength: 12 |
139 | 159 | maxLength: 32 |
140 | 160 | description: | |
141 | 161 | Recipient who can download this share. ETSI319412-1. Example "etsi/PNOEE-48010010101". |
| 162 | + Must match certificate subject serialnumber field (without "etsi/" prefix). |
142 | 163 | In future might support other formats |
143 | 164 | [etsi/:semantics-identifier](https://github.com/SK-EID/smart-id-documentation/blob/v2/README.md#2322-etsisemantics-identifier) |
144 | 165 | required: |
|
0 commit comments