我有以下文件:
我已经从CA收到了这些文件,包括证书链。我需要生成“keystore.p12”,以便使用以下信息为春季引导应用程序配置SSL。
server:
port: 443
ssl:
key-store: keystore.p12
key-store-password: <your-password>
keyStoreType: PKCS12
keyAlias: <my alias>有人能帮我生成'keystore.p12‘吗?
发布于 2019-10-08 11:28:50
文件扩展名实际上并不控制文件的格式或内容,尽管通常它们至少应该提供部分描述。类似地,basenames (在扩展名之前)应该描述文件中的内容,但并不总是正确地这样做。重要的是档案里有什么。
.key通常用于单独的私钥,但是查看它可以确定,并且确定它的格式,因为有很多种格式。您永远不应该从CA获取私钥;它应该在本地生成,通常是在将使用它的机器上,至少由该机器的‘所有者’或管理员生成。可能有一种例外--如果您是指公司、组织、机构或办公室的内部CA --在这种情况下,CA的运行人员可能是负责所有机器上的安全的同一个人--或者反之亦然,这取决于您的观点--他们生成密钥和证书可能是有意义的。
.pem用于PEM格式中的许多东西,而该文件的内容(或内容)比它是PEM更重要。查看第一行-----BEGIN (somewords)-----,查看单词(S)是(Are)。应该立即或在几行头行之后使用base64中的数据(由字母、数字和特殊字符+/=组成的实体块),然后是匹配的-----END (somewords)-----行。如果结束线后面跟着另一个类似的块,或多个,请查看所有这些块。
.cer通常用于证书的'DER‘(二进制)或'PEM’(如上面)格式。.p7b类似地用于包含证书(特别是链中使用的证书)的“虚拟”PKCS7消息,无论是DER还是PEM。更重要的是,p7b有时用于整个链,包括end entity(服务器) cert,有时用于链的其余部分( EE cert除外),这关系到哪一个环节。如果您有OpenSSL --或者可以获得它(例如,通过安装一个软件包,或者http://www.slproweb.com/products/Win32OpenSSL.html推荐安装程序),或者可以将您的数据移动到有它的机器上--那么就这样做:
# if the p7b file is in PEM format (you can see ----BEGIN PKCS7----- line)
openssl pkcs7 -in file.p7b -print_certs
# if the p7b file is in DER format (looks like garbage in a text editor or display)
openssl pkcs7 -in file.p7b -inform der -print_certs
# for now look only at the subject= and issuer= lines to see
# for each cert in the file who it is for, and if/how they chain然后:
.key文件是OpenSSL支持的一种PEM格式的私钥,您可以使用它;否则,如果.key是其他格式的私钥,或者.pem是或包含某种格式的私钥,则需要转换和/或提取它:告诉我们这些文件的更多内容。.p7b文件是PEM或DER格式,则将其扩展的输出(从上面)放在文件中。如果这包括EE证书,则跳过下一步。.p7b文件不包括EE证书,但.cer文件是该证书,则如果是PEM格式,只需将其附加到包含.p7b输出的文件中;如果以DER格式将其转换为openssl x509 -in file.cer -inform der并追加该文件。 openssl pkcs12 -export -in chain.pem -inkey key.pem -out newfile.p12 [-name x]
# the -name option provides the 'alias' used by Java
# if not specified it defaults to the numeral 1 (one)https://stackoverflow.com/questions/58271672
复制相似问题