Skip to content

Commit b9e4da6

Browse files
committed
Review UVFMetadata compliance.
1 parent 5393554 commit b9e4da6

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

hub/src/main/java/cloud/katta/crypto/uvf/UvfMetadataPayload.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.text.ParseException;
2525
import java.util.Arrays;
2626
import java.util.Base64;
27+
import java.util.Collections;
2728
import java.util.HashMap;
2829
import java.util.Map;
2930
import java.util.Objects;
@@ -309,10 +310,16 @@ public static UvfMetadataPayload decryptWithJWK(final String jwe, final JWK jwk)
309310
* @param keys recipient keys for whom to encrypt
310311
*/
311312
public String encrypt(final String apiURL, final UUID vaultId, final JWKSet keys) throws JOSEException {
313+
// spec: https://github.com/encryption-alliance/unified-vault-format/tree/develop/vault%20metadata#jose-header
314+
// web frontend implementation: https://github.com/shift7-ch/katta-server/blob/feature/cipherduck-uvf/frontend/src/common/universalVaultFormat.ts#L343-L346
312315
final JWEObjectJSON builder = new JWEObjectJSON(
313316
new JWEHeader.Builder(EncryptionMethod.A256GCM)
317+
.keyID("cloud.katta.vaultmetadata")
314318
.customParam("origin", String.format("%s/vaults/%s/uvf/vault.uvf", apiURL, vaultId.toString()))
315319
.jwkURL(URI.create("jwks.json"))
320+
.contentType("json")
321+
.criticalParams(Collections.singleton("uvf.spec.version"))
322+
.customParam("uvf.spec.version", "1")
316323
.build(),
317324
new Payload(new HashMap<String, Object>() {{
318325
put("fileFormat", fileFormat);

0 commit comments

Comments
 (0)