content: package com.alipay.easysdk.kms.aliyun;
  
  import com.alipay.easysdk.kernel.util.Signer;
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
  /**
   * KMS签名器
   *
   * @author aliyunkms
   * @version $Id: AliyunKMSSigner.java, v 0.1 2020年05月08日 9:10 PM aliyunkms Exp $
   */
  public class AliyunKMSSigner extends Signer {
      private AliyunKMSClient client;
      private static final Logger LOGGER = LoggerFactory.getLogger(Signer.class);
  
      public AliyunKMSSigner(AliyunKMSClient aliyunKmsClient) {
          this.client = aliyunKmsClient;
      }
  
      /**
       * 计算签名
       *
       * @param content       待签名的内容
       * @param privateKeyPem 私钥，使用KMS签名不使用此参数
       * @return 签名值的Base64串
       */
      public String sign(String content, String privateKeyPem) {
          try {
              return this.client.sign(content);
          } catch (Exception e) {
              String errorMessage = "签名遭遇异常，content=" + content + " reason=" + e.getMessage();
              LOGGER.error(errorMessage, e);
              throw new RuntimeException(errorMessage, e);
          }
      }
  
      public AliyunKMSClient getClient() {
          return this.client;
      }
  
      public void setClient(AliyunKMSClient client) {
          this.client = client;
      }
  }
  