Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssl 什么是dat证书?它与其他证书格式(如JKS)有何不同?_Ssl_Https_Ssl Certificate - Fatal编程技术网

Ssl 什么是dat证书?它与其他证书格式(如JKS)有何不同?

Ssl 什么是dat证书?它与其他证书格式(如JKS)有何不同?,ssl,https,ssl-certificate,Ssl,Https,Ssl Certificate,什么是.dat证书?JKS证书和.dat证书之间有什么区别吗?如何使用.dat证书信任服务器端?其他证书也一样吗?.dat只是一个文件扩展名,它不能告诉您有关文件本身格式的任何有用信息 常用的证书文件有两种类型:PEM和DER。PEM以Base-64编码文本的形式对其数据进行编码,并将其包装在人类可读的标题中。DER以原始二进制形式对其数据进行编码。这两种格式都能够对相同类型的数据进行编码,但尽管PEM文件可以存储多个对象(例如,证书和密钥,或整个证书信任链),但DER文件仅限于每个文件一个对象

什么是.dat证书?JKS证书和.dat证书之间有什么区别吗?如何使用.dat证书信任服务器端?其他证书也一样吗?

.dat
只是一个文件扩展名,它不能告诉您有关文件本身格式的任何有用信息

常用的证书文件有两种类型:PEM和DER。PEM以Base-64编码文本的形式对其数据进行编码,并将其包装在人类可读的标题中。DER以原始二进制形式对其数据进行编码。这两种格式都能够对相同类型的数据进行编码,但尽管PEM文件可以存储多个对象(例如,证书和密钥,或整个证书信任链),但DER文件仅限于每个文件一个对象。此外,有些应用程序是专门为其中一种应用程序设计的

在文本编辑器中打开文件。它是人类可读的吗?然后是PEM文件。是垃圾吗?那么它可能是一个更大的问题


JKS本身不是一种证书格式;它是证书和密钥的存储格式。一个
.jks
文件可能存储许多证书和密钥。Java会期望你首先;然后您可以根据需要将其加载到
信任库
密钥库

一种方法是使用
openssl
,例如:
openssl x509-noout-text-notify PEM-in file.dat
应该显示内容,如果这是PEM,如果是DER格式,则与
-inform DER
相同的命令应该可以工作。谢谢atomicinf和Bruno!我已经能理解了但是还有一件事,.dat文件是如何创建的?它是否是pem或der证书的另一个容器,就像jks的工作方式一样?或者它已经是pem或der文件,但扩展名仅重命名为“.dat”
。dat
是一个足够通用的扩展名,任何一种情况都可以应用,但我怀疑后者。您可以通过尝试使用OpenSSL读取证书来进行检查。我已经尝试了Bruno提到的两种策略,但没有得到成功的响应。然后我集中在atomicinf回复的最后一部分,它让我认为我的.dat文件可能是一个密钥库(这对其他人来说可能是显而易见的,但因为我对证书不太熟悉……很抱歉:)所以,然后我尝试用keytool检查它,并实现以下功能:$keytool-list-keystoremykey.dat-storepass1234。。。查韦斯:JKS。。。我可以检查并列出它的内容,发现它是JKS密钥库类型。