All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.shoulder.crypto.negotiation.support.Sensitive Maven / Gradle / Ivy

Go to download

Shoulder 提供的 协商加密模块,用于非信任网络环境下的安全通信。基于 DH + ECC 实现先进的加密算法协商算法,比传统的 DH + DES 协商算法性能显著更高,更安全。

There is a newer version: 1.0.0-M2.2
Show newest version
package org.shoulder.crypto.negotiation.support;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 标识字段需要加密 或 标识类中含有加密的字段,Shoulder 会在在 请求发起方 或 服务提供方 接收请求时将自动为其加解密
 * 

* 加在 DTO 的 String 类型字段上: * - encryptOnRequest 标识客户端请求时要加密,服务端收到请求时会解密 * - decryptOnResponse 标识服务端返回响应时要加密,客户端端接收响应时要解密 *

* 加在 DTO 的复杂类型字段上: * - 声明这个字段支持 DTO 嵌套,否则默认不处理复杂类内部字段 *

* 加在 RestController 的方法上(接口) * - 为该接口实现加密增强:请求前判断是否为加密请求,不合规则拒绝,若是则自动解密参数 * - 请求后自动重写返回值,加密响应 *

* 加在 RestController 类上,标识该 Controller 中所有接口都需要加密增强,enhancer=false 的除外 *

* todo 【语法糖】 添加 ElementType.PARAMETER 以支持 GET,同时需要实现 Spring MVC 参数解析器 * * @author lym */ @Target({ElementType.FIELD, ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Sensitive { boolean enhancer() default true; /** * 请求时加密 */ boolean sensitiveRequest() default true; /** * 响应时加密 */ boolean sensitiveResponse() default true; }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy