Https 由MBEDTLS生成的Chrome拒绝证书

Https 由MBEDTLS生成的Chrome拒绝证书,https,certificate,webserver,tls1.2,mbedtls,Https,Certificate,Webserver,Tls1.2,Mbedtls,我使用的是MBEDTLS2.16.3。 我使用mbedtls库创建两级证书,并使用证书设置https通信。 根证书(也称为CA)是使用ECC secp256r1的自签名证书。 设备证书由根证书签名,密钥算法也是ECC secp256r1。 我在操作系统和Firefox认证管理器中安装根认证。 收到证书后,Chrome将显示“证书未知”(Chrome版本为86.0.4240.75) wireshark显示如下: 铬显示如下: 网络::错误证书无效 主题:10.9.1.67 颁发者:Web服务器根

我使用的是MBEDTLS2.16.3。 我使用mbedtls库创建两级证书,并使用证书设置https通信。 根证书(也称为CA)是使用ECC secp256r1的自签名证书。 设备证书由根证书签名,密钥算法也是ECC secp256r1。 我在操作系统和Firefox认证管理器中安装根认证。 收到证书后,Chrome将显示“证书未知”(Chrome版本为86.0.4240.75)

wireshark显示如下:

铬显示如下:

网络::错误证书无效 主题:10.9.1.67 颁发者:Web服务器根 有效期:2021/10/13 当前日期:2020/10/19 PEM编码链:

-----开始证书----- MIIBEJCAR6GAWIBAGISANM85JYVS9N1992VOFHXHAMAWGCQGSM49BAMCBQAW JZELMAKA1 EBHMCQ04XGDAWBGNVAMMD1DLYIBTZXJ2ZXIGUM9VDDAEFW0YMDEW MTYWMTIZMTDAFW0YMTWMJQYNDRAMCEXCZAJBGNVBAYTAKNOMRIWEAYDVQD DAKXMC45LJEUNJCWWTATBGCQHKJOPQIBBGGQHKJOPQMBBWNCATDPYWNJKMvDR2 ESVQE9CVHJHQDGZUO6WHMD91COSNJHKDTKMABEXQKQ/JE6IQYZABXFKIDMWEL UJR3RTBNOY4WLDAPBGVHREECDAGHWQKCQFDMAKGA1UDQCMAWDGYDVR0PAQH/ BAQDAGOOMAWGCQGSM49BAMCBQADSAAWQIGPRGDNFR7NIXFULVAUYDTSIJDUGV2 BFKf7WXelxFBKDIQDPVU5TY9TZNQEUCH+5LV0vDqXm6EWg+Viv6w5O59QIg== -----结束证书-----

-----开始证书----- MIIBDDCCARIGAWIBAGIRFRUPQU8VSJW2LFGV1LSUXWAWDAYIKOZJ0EAWIFADAN MQSWCQYDVQGEWJDTJEYMBYGA1EAWWPV2VIIFNLCNZLCIBS290MB4XDTIWMTAX NJA5MJMXNLOXDTQMTAXNJA5MJMXNLOWJZELMAKGA1UEBHMCQ04XGDAWBGNVBAMM D1DLYIBTZXJ2ZXIGUM9VDDBZMBMGBYQGSM49AGECQGSM49AWHA0IABMZAKSER HodgeieVbNKBY0/n7z4JD+y+bZBXuDsFzYbz4odAe2C3WxpJ7fUw6sOCs1jpy8mv NEV1SRH3KXXQNOJIZAHMA8GA1UDEWQIMA8GA1UDEWQIBAF8CAQAWGYDVR0PAQH/BAQDAGGE MAWGCQGSM49BAMCBQADSAAWRQIGPA8BVP5BT2YLQ3DHEBGSG79NJBTTTSAKAMPAA 5NLECCIQCENCNKEDTKV0L/1c3evynH/hP97mid58trLgBRlFU3Dw== -----结束证书-----

但该认证在Firefox/Edge上运行良好。


如果我将自签名证书更改为RSA 1024,Chrome中的https连接就可以了。

有一个非常快速的解决方案。 在函数:mbedtls\u asn1\u write\u算法\u asn1write.cpp的标识符中,只需删除这行代码:mbedtls\u asn1\u CHK\u ADD(len,mbedtls\u asn1\u write\u null(p,start))