加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 使用struts检查pfx文件类型

发布时间:2020-12-15 02:34:57 所属栏目:Java 来源:网络整理
导读:有没有办法检查上传的证书真的是一个pfx证书?我尝试使用以下代码: LazyValidatorForm lazyForm = (LazyValidatorForm) actionForm;FormFile cerFile = (FormFile) lazyForm.get("cerFile");if (!cerFile.getContentType().equals("application/x-pkcs12"))
有没有办法检查上传的证书真的是一个pfx证书?我尝试使用以下代码:

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

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

但是,大多数情况下,内容类型是application / octet-stream,这是没用的

解决方法

您可以尝试将上传的文件加载到 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文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读