科学DeBug 2024-10-12 10:05 采纳率: 0%
浏览 24
已结题

Linux环境下CA证书更新问题

在Linux系统上,使用CRUL或者SpringBoot Feign发送HTTPS请求的时候,客户端在验证服务器合法性时会使用Linux服务器或者JVM的根证书。
问题:
①Linux服务器的根证书默认就会自动更新吗?如何判断是否开启自动更新?自动更新频率是?
②JVM中的根证书会自动更新吗?
③如果上面两个问题的答案是都不会自动更新,那么以前本番环境发送HTTPS请求的时候都没有指定CA,而是用Linux根证书或者JVM根证书,岂不是在证书过期后都会无法发送HTTPS请求?
有没有比较专业的人士,碰到过类似的问题?虚心请教,谢谢!

  • 写回答

24条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-10-12 10:05
    关注
    获得0.30元问题酬金

    以下回复引自免费微信小程序:皆我百晓生。 如问题解决,还请采纳。如仍有疑问,请回复留言或私信博主,以便获得更精准的帮助。

    解决方法:

    1. 从根目录中加载证书(例如:CURL -FSSL HTTPS://ROOT-CERTIFICATES.ORG/ROOT.CRT)。
    2. 确保证书的路径正确,例如:CERTS/YOUR-USERNAME/ROOT.CRT

    代码示例:

    IMPORT ORG.APACHE.COMMONS.IO.IOUTILS;
    IMPORT JAVA.IO.FILEINPUTSTREAM;
    IMPORT JAVA.IO.INPUTSTREAM;
    
    PUBLIC CLASS MAIN {
        PUBLIC STATIC VOID MAIN(STRING[] ARGS) THROWS EXCEPTION {
            STRING ROOTCERTPATH = "CERTS/YOUR-USERNAME/ROOT.CRT";
            INPUTSTREAM IN = NEW FILEINPUTSTREAM(ROOTCERTPATH);
            TRY (INPUTSTREAM CERTSTREAM = NEW BUFFEREDINPUTSTREAM(IN)) {
                // 加载证书
                CERTIFICATEFACTORY CF = CERTIFICATEFACTORY.GETINSTANCE("X509");
                CERTIFICATE CERTIFICATE = (CERTIFICATE) CF.GENERATECERTIFICATE(CERTSTREAM);
    
                // 获取证书的有效期
                LONG VALIDITYTIME = CERTIFICATE.GETNOTBEFORE().TOINSTANT()
                        .ATZONE(ZONEID.SYSTEMDEFAULT())
                        .TOLOCALDATETIME()
                        .TOEPOCHSECOND();
                
                SYSTEM.OUT.PRINTLN(CERTIFICATE.GETSUBJECTDN());
                SYSTEM.OUT.PRINTLN(CERTIFICATE.GETSERIALNUMBER());
                SYSTEM.OUT.PRINTLN(CERTIFICATE.GETISSUERDN());
    
                // 释放资源
                IOUTILS.CLOSEQUIETLY(IN);
            }
        }
    }
    

    注意:上述代码需要确保根证书在LINUX系统上存在并且可以访问。如果证书不存在或无法访问,可能会导致证书解析失败。

    评论

报告相同问题?

问题事件

  • 系统已结题 10月20日
  • 创建了问题 10月12日

悬赏问题

  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 C++行情软件的tick数据如何高效的合成K线
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。
  • ¥20 在easyX库下编写C语言扑克游戏跑的快,能实现简单的人机对战
  • ¥15 svpwm波形异常求解答