post-management-keys.rst (1564B)
1 .. http:post:: /management/keys 2 3 Provide master signatures for future public keys to be used by the exchange. 4 Only to be used by the exchange's offline key management team. Not useful 5 for anyone else. 6 7 **Request:** 8 9 The request body must be a `MasterSignatures` object. 10 11 **Response:** 12 13 :http:statuscode:`204 No content`: 14 The request was successfully processed. 15 :http:statuscode:`403 Forbidden`: 16 A provided signature is invalid. 17 :http:statuscode:`404 Not found`: 18 One of the keys for which a signature was provided is unknown to the exchange. 19 20 **Details:** 21 22 .. ts:def:: MasterSignatures 23 24 interface MasterSignatures { 25 26 // Provided master signatures for future denomination keys. 27 denom_sigs: DenomSignature[]; 28 29 // Provided master signatures for future online signing keys. 30 signkey_sigs: SignKeySignature[]; 31 32 } 33 34 .. ts:def:: DenomSignature 35 36 interface DenomSignature { 37 38 // Hash of the public key of the denomination. 39 h_denom_pub: HashCode; 40 41 // Signature over `TALER_DenominationKeyValidityPS`. 42 // Must have purpose ``TALER_SIGNATURE_MASTER_DENOMINATION_KEY_VALIDITY`` 43 master_sig: EddsaSignature; 44 45 } 46 47 .. ts:def:: SignKeySignature 48 49 interface SignKeySignature { 50 // The actual exchange's EdDSA signing public key. 51 key: EddsaPublicKey; 52 53 // Signature by the exchange master key over 54 // `TALER_ExchangeSigningKeyValidityPS`. 55 // Must have purpose ``TALER_SIGNATURE_MASTER_SIGNING_KEY_VALIDITY``. 56 master_sig: EddsaSignature; 57 58 }