数字信封加密和解密
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
package api;
|
||||
|
||||
import com.sunyard.chsm.param.*;
|
||||
import com.sunyard.chsm.utils.CodecUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* @author liulu
|
||||
* @since 2024/12/24
|
||||
*/
|
||||
@Slf4j
|
||||
public class AsymKeyTest extends BaseTest {
|
||||
|
||||
private static Long keyId;
|
||||
private static final byte[] plain = "hjsu234127qikqwndqqw13412as324".getBytes();
|
||||
private static final Long certKeyId = 1871443220005818369L;
|
||||
private static final String dn = "CN=cert-test,O=SYD,L=HZ,ST=ZJ,C=CN";
|
||||
|
||||
|
||||
@Test
|
||||
public void testAttach() {
|
||||
AsymSignP7Req signP7Req = new AsymSignP7Req();
|
||||
signP7Req.setSubject(dn);
|
||||
signP7Req.setPlainData(CodecUtils.encodeBase64(plain));
|
||||
AsymSignP7Resp signP7Resp = execute("/asym/sign/P7Attach", signP7Req, AsymSignP7Resp.class);
|
||||
log.info("signP7: {}", signP7Resp.getSignData());
|
||||
|
||||
AsymVerifyP7Req verifyP7Req = new AsymVerifyP7Req();
|
||||
verifyP7Req.setSignData(signP7Resp.getSignData());
|
||||
VerifyResp verifyResp = execute("/asym/verify/P7Attach", verifyP7Req, VerifyResp.class);
|
||||
log.info("verifyResp: {}", verifyResp.getVerified());
|
||||
|
||||
Assertions.assertTrue(verifyResp.getVerified());
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEnvelopedData() {
|
||||
AsymEnvelopeSealReq sealReq = new AsymEnvelopeSealReq();
|
||||
sealReq.setSubject(dn);
|
||||
sealReq.setPlainData(CodecUtils.encodeBase64(plain));
|
||||
AsymEnvelopeSealResp sealResp = execute("/asym/envelope/seal", sealReq, AsymEnvelopeSealResp.class);
|
||||
log.info("signP7: {}", sealResp.getEnvelopeData());
|
||||
|
||||
AsymEnvelopeUnsealReq unsealReq = new AsymEnvelopeUnsealReq();
|
||||
unsealReq.setEnvelopeData(sealResp.getEnvelopeData());
|
||||
AsymEnvelopeUnsealResp unsealResp = execute("/asym/envelope/unseal", unsealReq, AsymEnvelopeUnsealResp.class);
|
||||
log.info("verifyResp: {}", unsealResp.getPlainData());
|
||||
log.info("verifyResp: {}", new String(CodecUtils.decodeBase64(unsealResp.getPlainData())));
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user