生成的数字签名认证时效性最长是多长时间呀

就是执行java文件来生成的密文最长的时效性是多长时间呀

FineReport wlllllll 发布于 2021-8-11 18:48
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2021-8-12 05:55

参考数字签名认证-https://help.fanruan.com/finereport/doc-view-845.html

里面有设置时长的啊

import com.fr.cert.token.JwtBuilder;

import com.fr.cert.token.Jwts;

import com.fr.cert.token.SignatureAlgorithm;

import java.util.Date;

public class Test2 {

    public static void main(String[] args) {

        //数字签名有效时长 

        long validTime = 30 * 60 * 1000;

        //数字签名内容,以访问资源的相对路径作为内容 

        String path = "GettingStarted.cpt";

        String key = "123456"; //数字签名密钥,可以自定义

        //生成fine_digital_signature

        String fine_digital_signature = createJwt("", "", path, validTime, key);

        //输出fine_digital_signature

        System.out.println(fine_digital_signature);

    }

    private static String createJwt(String issuer, String id, String subject, long validTime, String key) {

        //用于生成数字签名,即参数fine_digital_signature的值

        SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256;

        Date currentTime = new Date();

        Date expirationTime = new Date(currentTime.getTime() + validTime);

        JwtBuilder builder = Jwts.builder()

                .setIssuer(issuer)

                .setSubject(subject)

                .setIssuedAt(currentTime)

                .setExpiration(expirationTime)

                .setId(id)

                .signWith(signatureAlgorithm, key);

        return builder.compact();

    }

}

  • wlllllll wlllllll(提问者) 是的 可以设置最长多长时间呀10年可以不
    2021-08-12 07:22 
  • snrtuemc snrtuemc 回复 wlllllll(提问者) 额,。。。。一般帆软系统不关闭支持14天,所以理论最长14天,没有测试
    2021-08-12 11:36 
最佳回答
0
祈LLv6中级互助
发布于2021-8-12 11:33

官方代码默认30分钟,是一个模版的时效性30分钟,你设10年是?

  • wlllllll wlllllll(提问者) 我就是试验一下这个密文的最长设定有效期
    2021-08-12 13:51 
  • 2关注人数
  • 416浏览人数
  • 最后回答于:2021-8-12 11:33
    请选择关闭问题的原因
    确定 取消
    返回顶部