当前位置: 首页 > 知识库问答 >
问题:

如何在邮递员中使用自签名证书?

杨研
2023-03-14

我正在使用Postman测试我的API。我正在使用自签名证书在我的应用程序中使用HTTPS。

打开HTTPS设置后,邮递员应用程序显示此错误

它显示了

错误:自签名证书

当我在邮递员设置中关闭SSL证书验证时,API调用运行完美。我尝试在邮递员应用程序中安装证书/密钥,但没有成功。

我想在postman中使用证书/密钥,以便可以使用SSL访问API。有什么办法吗?

共有1个答案

岳卓君
2023-03-14
openssl req -x509 -nodes -new -sha256 -days 1024 -newkey rsa:2048 -keyout RootCA.key -out RootCA.pem -subj "/C=BR/CN=Example-Root-CA"
openssl x509 -outform pem -in RootCA.pem -out RootCA.crt

自定义您想要的…(C=?,CN=?等)

添加您的域myapp.local,该域托管在您的本地计算机上以进行开发(使用hosts文件将它们指向127.0.0.1)。

127.0.0.1   myapp.local

首先,创建一个列出所有本地域的文件< code>domains.ext:

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
DNS.2 = myapp.local

生成本地主机.key本地主机.csr本地主机.

openssl req -new -nodes -newkey rsa:2048 -keyout localhost.key -out localhost.csr -subj "/C=BR/ST=BAHIA/L=SSA/O=Example-Certificates/CN=localhost.local"
openssl x509 -req -sha256 -days 1024 -in localhost.csr -CA RootCA.pem -CAkey RootCA.key -CAcreateserial -extfile domains.ext -out localhost.crt
openssl pkcs12 -export -inkey localhost.key -in localhost.crt -out localhost.p12

自定义您想要的…(C=?,CN=?等)

对于p12,使用“密码”。例如,这是我在springboot应用程序上的密钥库:

配置密钥库(使用PKCS12格式,可能也可以接受JKS格式)…

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-configure-ssl

cp localhost.p12 myapp/src/main/resources/keystore/localhost.p12

编辑应用程序属性

# secure server port
server.port=8443
# The format used for the keystore. It could be set to JKS in case it is a JKS file
server.ssl.key-store-type=PKCS12
# The path to the keystore containing the certificate
server.ssl.key-store=classpath:keystore/localhost.p12
# The password used to generate the certificate
server.ssl.key-store-password=password
# Enable ssl
server.ssl.enabled=true

此时,站点会加载一个关于自签名证书的警告。为了获得绿色锁,必须将新的本地CA添加到受信任的根证书颁发机构。

在“邮递员”中,转到:

  • 设置 -

在 curl 命令行中:

curl --cacert RootCA.crt -v https://myapp.local:8449/endpoint
 类似资料:
  • 我正试图通过邮递员发送一个邮件请求,并收到以下错误: 我认为我有一些错误的HTTPS链接。然后我试着转过身去*“ SSL认证验证

  • 我正试图通过邮递员发送一个邮件请求,但出现以下错误: 我相信我在HTTPS链接上有一些错误。然后我试着转向*“ SSL认证验证 “*已经在中作为指南。但没有帮助!!!

  • 我尝试将Content-Type的头修改为multipart/form-data和application/octet-stream。我还尝试取消postman中的headers部分,并在选择文件时依赖于表单数据和二进制设置的正文类型。“表单-数据”设置会将以下内容添加到调用中: 内容-处置:表单-数据;name=“TheFileTosend.txt”;filename=“TheFileTosend

  • 我正在为嵌入式Linux设备添加HTTPS支持。我尝试通过以下步骤生成自签名证书: 这是可行的,但我得到一些错误,例如,谷歌Chrome:

  • 我的手被https、ssl、PKI之类的东西弄得脏兮兮的。对于自签名证书,有一点我不太理解。假设我想创建一个自签名证书,并在我们想要建立安全连接时将其发送给我的朋友。 所以步骤是: 创建一个私钥。 创建一个公钥。 用我的公钥在证书上签名。 因此,当我的朋友得到我的证书时,他必须验证他得到的证书是我的,他需要解密数字签名。但为了解密和验证他必须拥有我的私钥。所以,我有点困惑。

  • 我有一个web API,我正在使用Postman测试。当我点击“发送”按钮时,Postman将数据发送到web API,这样我就可以测试web API,但我想查看Postman发送到web API的数据。我如何查看这个?