它指出"将.pem 和.key 文件转换为字节数组"。 这将生成一个包含证书/密钥字节数组和数组大小的头文件。"
我想澄清一下在这里该怎么办。 我没有看到".key"文件、后面的行仅显示"server-csr.pem"文件的转换。
具体而言、哪些文件应 替换 server_certificates.h 中的十六进制转储? 该注释提到了"certificate.pem"和"key.pem"、但我看不到这些文件。
谢谢你。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
它指出"将.pem 和.key 文件转换为字节数组"。 这将生成一个包含证书/密钥字节数组和数组大小的头文件。"
我想澄清一下在这里该怎么办。 我没有看到".key"文件、后面的行仅显示"server-csr.pem"文件的转换。
具体而言、哪些文件应 替换 server_certificates.h 中的十六进制转储? 该注释提到了"certificate.pem"和"key.pem"、但我看不到这些文件。
谢谢你。
您好, Eitan Halpern
我们已收到请求、并开始调查我们将在下周早些时候与您联系的问题。
尊敬的 Eitan:
对于不清楚的文档、我们深表歉意。 我将更新文档以便一目了然。
如果要生成自己的证书并自行签名、则在执行相同文档链接中提到的步骤时、将生成以下文件。

您需要将 server-PRK.pem (服务器密钥)和 server-cer.pem (服务器证书)转换为十六进制、并将 server_certificates.h 文件中的相同内容替换。
如果您遇到任何问题、请告诉我。
此致、
Shaunak
感谢您的澄清。 我尝试了这些步骤、现在看到下面的错误。 我使用的 是 OpenSSL 1.1.1W。
[Cortex_R5_0] ==========================
CPSW HTTPS TCP
==========================
EnetAppUtils_reduceCoreMacAllocation: Reduced Mac Address Allocation for CoreId:0 From 4 To 2
EnetPhy_bindDriver: PHY 3: OUI:080028 Model:0f Ver:01 <-> 'dp83869' : OK
PHY 3 is alive
PHY 12 is alive
Starting lwIP, local interface IP is dhcp-enabled
[LWIPIF_LWIP] NETIF INIT SUCCESS
Host MAC address-0 : 34:08:e1:80:81:c7
Enet IF UP Event. Local interface IP:0.0.0.0
[LWIPIF_LWIP] Enet has been started successfully
Waiting for network UP ...
Waiting for network UP ...
Cpsw_handleLinkUp: Port 1: Link up: 1-Gbps Full-Duplex
MAC Port 1: link up
Network Link UP Event
Waiting for network UP ...
Enet IF UP Event. Local interface IP:192.168.0.7
Network is UP ...
Failed to create TLS confighttpd_init: altcp_tls_new failedASSERT: 7.22528s: C:/ti/mcu_plus_sdk_am263x_09_00_00_35/examples/networking/lwip/cpsw_lwip_https/httpd.c:httpd_inits:1387: 0 failed !!!我正在使用的工程为 mcu_plus_sdk_am263x_09_00_00_35\examples\networking\lwip\cpsw_lwip_https、仅修改了 server_certificates.h (我的版本附有)。
谢谢你。
尊敬的 Eitan:
证书格式似乎是由根本原因引起的。 MbedTLS 似乎期望证书采用 DER 格式而不是 PEM。 在将证书从 PEM 格式转换为 DER 格式之前、文档在某些步骤中缺失。 对于未能确定所需文档、我们深表歉意。
我将更新正式文档、但为了解除阻止、我还将分享以下步骤:
1.为证书颁发机构(CA)生成未加密的2048位 RSA 私钥
openssl genrsa -out ca-prk.pem 2048
2.生成证书签名请求(CSR)
openssl req -new -sha256 -key ca-prk.pem -out ca-csr.pem -subj "/C={country}/ST={state}/L={locality}/O={organization} CA"
3.自行签署 CSR 并为 CA 生成证书
openssl x509 -req -signkey ca-prk.pem -in ca-csr.pem -out ca-cer.pem -days 3650
4.为服务器(CA)生成未加密的2048位 RSA 私钥
openssl genrsa -out server-prk.pem 2048
5.为服务器生成 CSR
openssl req -new -sha256 -key server-prk.pem -out server-csr.pem -subj "/C={country}/ST={state}/L={locality}/O={organization}/CN={common name, ex. 127.0.0.1}"Code
6.查看服务器 CSR 并验证内容
openssl req -in server-csr.pem -noout -text
7. 签署服务器 CSR
openssl x509 -req -sha256 -in server-csr.pem -CA ca-cer.pem -CAkey ca-prk.pem -CAcreateserial -out server-cer.pem -days 365
按照以下步骤将证书从 PEM 转换为 DER 格式。
对于证书:
openssl x509 -outform der -in ca-cer.pem -out certificate.der
对于密钥:
openssl rsa -outform der -in ca-prk.pem -out keys.der
现在、使用上面在 server_certificates.h 中创建的十六进制转储文件、它应该可以正常工作。 我尝试在终端生成新证书、结果成功了。
此致、
Shaunak