in pkg/plugin/kms_v2_server.go [111:145]
func (s *KeyManagementServiceV2Server) Decrypt(ctx context.Context, request *kmsv2.DecryptRequest) (*kmsv2.DecryptResponse, error) {
mlog.Debug("decrypt request received", "uid", request.Uid)
start := time.Now()
var err error
defer func() {
errors := ""
status := metrics.SuccessStatusTypeValue
if err != nil {
status = metrics.ErrorStatusTypeValue
errors = err.Error()
}
s.reporter.ReportRequest(ctx, metrics.DecryptOperationTypeValue, status, time.Since(start).Seconds(), errors)
}()
mlog.Info("decrypt request started", "uid", request.Uid)
plainText, err := s.kvClient.Decrypt(
ctx,
request.Ciphertext,
s.encryptionAlgorithm,
version.KMSv2APIVersion,
request.Annotations,
request.KeyId,
)
if err != nil {
mlog.Error("failed to decrypt", err, "uid", request.Uid)
return &kmsv2.DecryptResponse{}, err
}
mlog.Info("decrypt request complete", "uid", request.Uid)
return &kmsv2.DecryptResponse{
Plaintext: plainText,
}, nil
}