certificate - x509 证书的字符编码是什么?

标签 certificate java x509 encoding scep

我正在实现 SCEP 服务器来分发客户端证书。根据protocol , 对于来自设备的 GetCACert 请求,响应 header 的内容类型应为 application/x-x509-ca-cert

我的问题是,默认情况下,每个响应的字符编码都被我的应用程序的过滤器设置为 UTF-8 ,因此响应变为 application/x-x509-ca-cert ;charset=UTF-8。设备不喜欢这个字符编码部分并拒绝响应。

我怀疑设备可能会尝试将响应从 UTF-8 格式转换,因此我尝试将响应编码为 UTF-8,但设备仍然不接受我的响应。

然后,我将 burp 代理设置为设备,并从响应 header 中删除了 charset=UTF-8 部分,并且设备接受了响应。

经过一些谷歌搜索,我发现证书是用DER编码的,但是当我将DER作为字符编码时,java说unknown-encoding 以及 IANA字符编码在其官方字符集中没有 DER

我的问题是“可用于定义 x509 证书的字符编码的官方字符集名称是什么?”。

最佳答案

证书是二进制的。它们没有字符编码,因为它们不是字符而是普通的八位位组(字节)。如果您尝试使用某种字符编码对这些非字符进行编码,这将无济于事。相反,您需要省略 charset 属性。

关于certificate - x509 证书的字符编码是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63824786/

相关文章:

ssl - 密码存储在 PEM (SSL) 文件中的什么位置?如果你在文本编辑器中打开一个 .pem 文件,你能窃取密码吗?

java - RxJava : After Observable. 只是它仍然调用 Observable.empty()

java - Android 资源 : SQLiteDatabase Missing databases/***. 资源或目标文件夹中的 zip 文件不可写

python - ssl.SSLError : [SSL: SSLV3_ALERT_BAD_RECORD_MAC] sslv3 alert bad record mac

java - 在java小程序中检查我们是否有打印权限而不提示用户

iOS 证书生成错误 : Disc Quota Exceeded. 这是 Apple 的错误吗?

java - spring 事务期间 autocommit=true

saml - 如何验证 SAML 证书?

authentication - 如何创建单点登录体验?

java - 使用证书对 pdf 进行 iText 加密会导致 bouncycaSTLe 错误