diff --git a/config/configure-and-run-docker-playground.sh b/config/configure-and-run-docker-playground.sh index 00ae911cf9573fc7444b1de26e055ab6941b54b1..2d67d570f5532483fc0e82317f59b3351586b765 100755 --- a/config/configure-and-run-docker-playground.sh +++ b/config/configure-and-run-docker-playground.sh @@ -14,28 +14,24 @@ gnmic -a "172.100.20.10:7030" -u admin -p admin --insecure -e JSON_IETF set --up sleep 2 # initiating a key request from kms01 curl -X POST -H "Content-Type: application/json" -d '{ - "local_CKMS_ID": "172.100.20.13:50910", + "receiving_CKMS_ID": "172.100.20.13:50910", "request_ID": "request_ID-1234", - "key_properties": [ - { + "key_properties": { "number": 1, "key_length": 256, "timeout": 20, "TTL": 24 } - ] }' 'http://172.100.20.10:9696/api/v1/keys/ksa_key_req' # initiating a key request from kms04 curl -X POST -H "Content-Type: application/json" -d '{ - "local_CKMS_ID": "172.100.20.10:50910", + "receiving_CKMS_ID": "172.100.20.10:50910", "request_ID": "request_ID-1234", - "key_properties": [ - { - "number": 5, + "key_properties": { + "number": 1, "key_length": 256, "timeout": 20, "TTL": 24 } - ] }' 'http://172.100.20.13:9696/api/v1/keys/ksa_key_req' diff --git a/ekms/internal/akmsCkmsServer/akmsCkmsServer.go b/ekms/internal/akmsCkmsServer/akmsCkmsServer.go index 01692d5e88cafbc2426596fcf5d239a104267d93..a439c6a7d46b4bcd5e67fd28826d1f5f9422e6ad 100644 --- a/ekms/internal/akmsCkmsServer/akmsCkmsServer.go +++ b/ekms/internal/akmsCkmsServer/akmsCkmsServer.go @@ -43,9 +43,9 @@ type KeyProperties struct { } type KMSKeyRequest struct { - LocalCKMSID string `json:"local_CKMS_ID"` - RequestID string `json:"request_ID"` - KeyProperties []KeyProperties `json:"key_properties"` + ReceivingCKMSID string `json:"receiving_CKMS_ID"` + RequestID string `json:"request_ID"` + KeyProperties KeyProperties `json:"key_properties"` } func ksaReqHandler(ekms *kms.EKMS) http.HandlerFunc { @@ -58,11 +58,14 @@ func ksaReqHandler(ekms *kms.EKMS) http.HandlerFunc { return } - logrus.Infof("received KSA key request for local CKMS %s, request ID %s, and key properties %v", - kmsKeyRequest.LocalCKMSID, kmsKeyRequest.RequestID, kmsKeyRequest.KeyProperties) + logrus.Infof("received KSA key request for receiving CKMS %s, request ID %s, and key properties %v", + kmsKeyRequest.ReceivingCKMSID, kmsKeyRequest.RequestID, kmsKeyRequest.KeyProperties) - for _, keyProperties := range kmsKeyRequest.KeyProperties { - go ekms.GenerateAndSendKSAKey(kmsKeyRequest.LocalCKMSID, kmsKeyRequest.RequestID, keyProperties.Number) //nolint:errcheck + err = ekms.GenerateAndSendKSAKey(kmsKeyRequest.ReceivingCKMSID, kmsKeyRequest.RequestID, kmsKeyRequest.KeyProperties.Number) //nolint:errcheck + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + logrus.Errorf("error generating and sending KSA key: %s", err) + return } logrus.Info("requested all keys")