我正在实现一个 SCEP 服务器来分发客户端证书。根据协议,对于GetCACert
来自设备的请求,响应头的 content-type 应该是application/x-x509-ca-cert
。
我的问题是,默认情况下,每个响应的字符编码都是UTF-8
由我的应用程序的过滤器设置的,因此响应变为application/x-x509-ca-cert;charset=UTF-8
. 设备不喜欢这个字符编码部分并拒绝响应。
我怀疑设备可能会尝试将响应从 UTF-8 格式转换,因此我尝试将响应编码为 UTF-8,但设备仍然不接受我的响应。
然后我将 burp 代理设置为设备并charset=UTF-8
从响应标头中删除了该部分,并且设备接受了响应。
经过一番谷歌搜索,我发现证书是用 编码的DER
,但是当我DER
作为字符编码给出时,java 说unknown-encoding
,而且IANA字符编码在他们的官方字符集中也没有DER
。
我的问题是“可用于定义 x509 证书字符编码的官方字符集名称是什么?”。