【问题标题】:Checking pfx file type with struts使用 struts 检查 pfx 文件类型
【发布时间】:2012-06-19 07:25:26
【问题描述】:

有什么方法可以检查上传的证书真的是pfx证书吗?我尝试使用以下代码:

LazyValidatorForm lazyForm = (LazyValidatorForm) actionForm;
FormFile cerFile = (FormFile) lazyForm.get("cerFile");

if (!cerFile.getContentType().equals("application/x-pkcs12")) {
    /** return error code **/
}

但是,大多数时候,内容类型是application/octet-stream,这是没有用的

【问题讨论】:

    标签: java jakarta-ee struts struts-1


    【解决方案1】:

    您可以尝试将上传的文件加载到KeyStore

    LazyValidatorForm lazyForm = (LazyValidatorForm) actionForm;
    FormFile cerFile = (FormFile) lazyForm.get("cerFile");
    
    KeyStore keyStore = KeyStore.getInstance("PKCS12");
    keyStore.load(cerFile.getInputStream(), null);
    

    即使 .pfx 包含受密码保护的私钥,仍应加载 .pfx(没有密码基本上没用,但应该加载)。

    如果你没有发现异常并且加载后keyStore.size()等于1,那么它必须是一个.pfx文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-02
      • 2013-08-26
      • 2015-03-23
      • 2014-07-24
      • 2011-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多