der 格式抛出 CRYPTO_internal header too long 错误

问题描述

我正在尝试编写代码片段以下载 der 格式的文件

代码片段:

public ResponseEntity<ByteArrayResource> downloadCertificate(final HttpServletResponse response){
certificateInputStream = fetchCertDataInDERFormat();

//create a file with contents
//        try {
//            File file = new File("<>/Downloads/byteCert.der");
//            OutputStream os = new FileOutputStream(file);
//            os.write(certInputStream.readAllBytes());
//            os.close();
//        } catch (FileNotFoundException e) {
//            e.printstacktrace();
//        } catch (IOException e) {
//            e.printstacktrace();
//        }

HttpHeaders header = new HttpHeaders();
        header.add(HttpHeaders.CONTENT_disPOSITION,"attachment; headerCert.der");
        header.add(HttpHeaders.CONTENT_TYPE,MediaType.APPLICATION_OCTET_STREAM_VALUE);
        ByteArrayResource resource = new ByteArrayResource(certificateInputStream.readAllBytes());
        return ResponseEntity.ok()
                .headers(header)
                .body(resource);
}

尝试通过 openssl 命令检查响应正文时抛出以下错误

openssl x509 -inform der -in certPostman.der -noout -subject -issuer 无法加载证书 4475899500:错误:0DFFF07B:asn1 编码例程:CRYPTO_internal:头文件太长:/AppleInternal/buildroot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-47.140.1/libressl-2.81/crypton1 .c:152:

我已经确定的事情:

  1. 正文的内容很好,因为我能够使用 openssl 成功检查 byteCert.der(代码注释)的内容
  2. 在其他 Stackoverflow 论坛中建议的任何 spring 标题,如内容处置、字符编码或内容类型更改都没有帮助。

任何人都可以提出任何好的意见。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...