in plugin/v2/plugin.go [107:133]
func (g *Plugin) Encrypt(ctx context.Context, request *EncryptRequest) (*EncryptResponse, error) {
glog.V(4).Infof("Processing request for encryption %s using %s", request.Uid, g.keyURI)
defer plugin.RecordCloudKMSOperation("encrypt", time.Now().UTC())
resp, err := g.keyService.Encrypt(g.keyURI, &cloudkms.EncryptRequest{
Plaintext: base64.StdEncoding.EncodeToString(request.Plaintext),
}).Context(ctx).Do()
if err != nil {
plugin.CloudKMSOperationalFailuresTotal.WithLabelValues("encrypt").Inc()
return nil, err
}
cipher, err := base64.StdEncoding.DecodeString(resp.Ciphertext)
if err != nil {
return nil, err
}
keyID := g.setKeyID(resp.Name)
glog.V(4).Infof("Processed request for encryption %s using %s",
request.Uid, keyID)
return &EncryptResponse{
Ciphertext: cipher,
KeyId: keyID,
}, nil
}