AesException.java

  1. package cn.home1.oss.lib.common.crypto;

  2. import lombok.Getter;

  3. @SuppressWarnings("serial")
  4. public class AesException extends RuntimeException {

  5.   @Getter
  6.   private final AesError aesError;

  7.   AesException(final AesError aesError) {
  8.     super(aesError.getMessage());
  9.     this.aesError = aesError;
  10.   }

  11.   AesException(final AesError aesError, final Throwable cause) {
  12.     super(aesError.getMessage(), cause);
  13.     this.aesError = aesError;
  14.   }

  15.   /**
  16.    * AES error.
  17.    *
  18.    * @author zhanghaolun
  19.    */
  20.   @SuppressWarnings("PMD.SingularField")
  21.   @Getter
  22.   public enum AesError {

  23.     OK(0, ""),
  24.     VALIDATE_SIGNATURE_ERROR(-40001, "签名验证错误"),
  25.     PARSE_XML_ERROR(-40002, "XML解析失败"),
  26.     COMPUTE_SIGNATURE_ERROR(-40003, "SHA加密生成签名失败"),
  27.     ILLEGAL_AES_KEY(-40004, "SymmetricKey非法"),
  28.     VALIDATE_CORP_ID_ERROR(-40005, "corpid校验失败"),
  29.     ENCRYPT_AES_ERROR(-40006, "AES加密失败"),
  30.     DECRYPT_AES_ERROR(-40007, "AES解密失败"),
  31.     ILLEGAL_BUFFER(-40008, "解密后得到的buffer非法");
  32.    
  33.     private final int code;
  34.     private final String message;

  35.     AesError(final int code, final String message) {
  36.       this.code = code;
  37.       this.message = message;
  38.     }
  39.   }
  40. }