您好!
我正在尝试使用 EK_TM4C1294XL 板在 CC3100上运行 HTTPS 示例。
Tiva-C 的 TI-RTOS 版本为2.16.00.08、我将在其中使用 v1.11.00.10:
根据说明添加正确的 DigiCert 根 CA (对于 www.example.com:443)后、当调用 HTTPCL_connect 时、我仍然收到错误-102。
以下是我在示例中更改的确切且唯一的代码:
/*
*用户步骤:在之间复制根 CA 证书中的行
* ---- 开始证书--
* (笑声)
* ---- 结束证书--
*
uint8_t ca[]=
"MIIF8jCCBNqgAwIBAgIQDmTF+8I2reFlrFyrQceMsDANBgqhkikiG9w0BAQsFADBw\
MQswCQYDVQGEwJVUzeVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLEB3\
d3cuZGlnaWNlcnQuY29tMS8wLQYDVQDEyZEaWdpQ2VyCBTSEEyeshpZ2ggQXNz\
dXJhbmNlIFNlcnZlciBDQTAeFw0xNTExMDMwMDAwMDBAFw0xODExMjgxMjAwMDBa\
MIFLMQswCQYDVQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEUMBIGA1UEBxML\
TG9zIEFuZ2VsZXMxPDA6BgNVBAoTM0ludGVybmV0IENvcnBvcmF0aW9uIGZvciBB\
c3NpZ25lZCBYW1lcybmBQgTnVtYmVyczETMBEGA1UECxMKVGGVBG5vbG9neTEY\
MBYGA1UAxEMPd3d3LmV4YW1wbGUub3JnMIIBIJANBgqhkiG9w0BAQEFAAOCAQ8A\
MIIBCgKCAQEAs0CWL2FjPixBl61lRfvE0KzLJmG9LWAC3bcBjgsH6NiVVo2dt6u\
Xfzi5bTm7F3K7srfUBYkLO78mraM9qizrHoIeyofrV/n+pZZJauQsPjCPxMEJnRo\
D8Z4KpWKX0LyDu1SputoI4nlQ/htEhtiQnuBfNZxF7WxCxGwEssZuS1KcXIkHl5V\
RJOreKFHTaXcB1qcZ/QRaBIv0yhxvKclibwWddT41Y6GfHcCe3xGMaSL328Fgs3\
jYrvG29PueB6Vji/tbbP6qTfwp/H1brqdjh29U52Bhb0fJkM9DWxCP/Cattcc7a\
z8EXnCO+LK8vkhw/kAIJWPKx4RBvgy73nwIDAQABO4ICUDCCAkwwyDVR0jBBgw\
FoAUUWj/kK8CB3U8zNllZGKiErhZcjswHQYDVR0OBBYEFKZPYB4fLdHn8SOgKpUW\
5Oia6m5IMIGBBgNVHREEejB4gg93d3cuZXhbXBsZS5vcmeCC2V4YW1wbGUUY29t\
ggtleGctcGxlLmVkdYILZXhbXBsZS5uZXSCC2V4YW1wbGUub3Jngg93d3cuZXhhhh\
bXBsZS5jb22CD3d3d3d5leGtcGxlLmVkd3d3LmV4YW1wbGUubbmV0MA4GA1Ud\
DwEB/wQEAwIFoDADBgNVHSUEFjAUBggrBEFBQcDAQYIKwYBBQUAwIwdQYDVR0f\
BG4wbDA0oDKgMIYuaHR0cDovL2NybDMUZGlnaWNlcnQuY29tL3NoYTItaGEtc2Vy\
dmVyLWc0LmNybDA0oDKgMIYuaHR0cDovL2NybDQuZGlnaWNlcnQuY29tL3NoYTIt \
aGEtc2VydmVyLWc0LmNybDBMBgNVHSAERTBDMDcGCWCGSAGG/WwBATAqMCgCCsG\
AQUFBwIBFhxodHRwczovL3d3d5kaWdpY2VydC5jb20vQ1BTMAgGBmeBDAECAjCB\
gwYIKwYBBQUHAQEEdzB1MCQGCCsGAQUFBzABhohhohhodHRwOi8vb2NzcC5kaWdpY2Vy\
dC5jb20wTQYIKwYBBQUHMAKGQWh0dHA6Ly9YWNlcnRzLmRpZ2ljZXJ0LmNvbS9E\
aWdpQ2VydFNIQTIJiaWdoQXNzdXJhbmNlU2VydmVyQ0EU3J0MAwGA1UdEwEB/WQc\
MAAwDQYJKoZIhvcNAQELBQADggEBAISomhGn2L0LJn5SJHuyVZ3qMILRCIdvqe0Q\
6ls + C8ctRwRO3U3x8q8OH+2ahxlQmpzdC5al4XQzJLiLjiJ2Q1p+hub8MFiMmVP\
PZjb2tZm2ipWVuMRM+zgpRVM6nVJ9F3vFfUSHOb4/JsEIUvPY+D8/KRC+kPQwLvy\
ieqRbcuFjmqfyPmUv1U9Qikpw7TZU0zYZANP4C/gj4Ry48/znmUaRvy2kvI\
l7gRQ21qJTK5suoiyNo3J9T+pXPGU7Lydz/Hw+w0DpArtAaukI8aNX4ohFUKS\
wDSIIIWJIWJGbEeIO0TIFwEVWTOnbNl/fPXpk5IRXicapqiII=";
uint32_t calen = sizeof (ca);
除了上述 ca root cert 之外、我还没有更改示例代码、因此我使用的调用完全是 HTTPCL_CONNECT (&CLI、(struct sockadr *)&addr、0、¶ms);
我的问题如下:
- 如何确保使用正确的密码? 我需要根据 根 CA 使用 ECDHE-RSA-AES128-GCM-SHA256。
- 我应该按照 示例代码使用 TLS_PARAMS_INIT、还是 像 这篇文章所建议的那样使用 HTTPCLI_SecureParams?
- 您能想到出现此错误的任何其他原因并建议修复吗?
为了表明我已经完成了一些尽职调查、我可以使用以下命令验证我正在使用的证书是否100%正确:
OpenSSL s_client -state -CAfile d2.pem -connect www.example.com:443
我已包括在内、以完成下面的输出、以防它有用。
提前感谢您的帮助!
谢谢
------ 从打开的 SSL -CAfile 测试中输出---
已连接(00000005)
SSL_connect:初始化之前/连接初始化之前
SSL_connect:未知状态
SSL_connect:SSLv3读取服务器 hello a
dept=2 C = US、O = DigiCert Inc、OU = www.digicert.com、CN = DigiCert 高保证 EV 根 CA
验证返回:1
dept=1 C = US、O = DigiCert Inc、OU = www.digicert.com、CN = DigiCert SHA2高保证服务器 CA
验证返回:1
dept=0 C =美国、ST =加利福尼亚、L =洛杉矶、O =因特网公司分配的名称和号码、OU =技术、CN = www.example.org
验证返回:1
SSL_connect:SSLv3读取服务器证书 A
SSL_connect:SSLv3读取服务器密钥交换 A
SSL_connect:SSLv3读取服务器完成
SSL_connect:SSLv3写入客户端密钥交换 A
SSL_connect:SSLv3写入更改密码规范 A
SSL_connect:SSLv3写入完成 A
SSL_connect:SSLv3刷新数据
SSL_connect:SSLv3读取服务器会话票证 A
SSL_connect:SSLv3读取已完成 A
--
证书链
0 s:/C=US/ST=California /L=Los Angeles/O=Internet Corporation for Assigned Names and Numbers /OU=Technology/CN=www.example.org
I:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2高保证服务器 CA
1 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2高保证服务器 CA
I:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert 高保证 EV 根 CA
--
服务器证书
---- 开始证书--
MIIF8jCCBNqgAwIBAgIQDmTF+8I2refrfyrqceMsDANBgqhkiG9w0BAQsFADBw
MQswCQYDVQGEwJVUzeVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLB3
d3cuZGlnaWNlcnQuY29tMS8wLQYDVQDEyZEaWdpQ2VyCBTSEEyeshpZ2ggQXNz
dXJhbmNlIFNlcnZlciBDQTAeFw0xNTExMDMwMDAwMDBAFw0xODExMjgxMjAwMDBa
MIFLMQswCQYDVQGEWJVUZEMBA1UECBMKQ2FsaWZvcm5pYTEUMBIGA1UEBxML
TG9zIEFuZ2VsZXMxPDA6BgNVBAoTM0ludGVybmV0IENvcnBvcmF0aW9uIGZvciBB
c3NpZ25lZCBOYW1lcybmBQgTnVtYmVyczETMBEGA1UECxMKVGVjaG5vbG9neTEY
MBYGA1UAxMPd3d3LmV4YW1wbGUub3JnMIIBIJANBgqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAs0CWL2FjPixBl61lRfvE0KzLJmG9LWAC3bcBjgsH6NiVVo2dt6u
Xfzi5bTm7F3K7srfUBYkLO78mraM9qizrHoIeyofrV/n+pZZJauQsPjCPxMEJnRo
D8Z4KpWKX0LyDu1SputoI4nlQ/htihtiQnuBfNZxF7WxCGwEssZuS1KcXIkHl5V
RJOreKFHTaXcB1qcZ/QRaBIv0yhxvKclibwWddT41Y6GfHcCe3xGMaSL328Fgs3.
jYrvG29PueB6Vji/tbbP6qTfwp/H1brqdjh29U52Bhb0fJkM9DWxCP/Cattcc7a
z8EXnCO+LK8vkhw/kAIJWPKx4RBvgy73nwIDAQABO4ICUDCCAkwwyDVR0jBBgw
FoAUUWj/kK8CB3U8zNllZGKiErhZcjswHQYDVR0OBBYEFKZPYB4fLdHn8SOgKpUW
5Oia6m5IMIGBBgNVHREEejB4gg93d3cuZXhbXBsZS5vcmeCC2V4YW1wbGUUY29t
ggtleGctcGxlLmVkdYILZXhbXBsZS5uZXSCC2V4YW1wbGUub3Jngg93d3cuZXhh
bXBsZS5jb22CD3d3d3d5leGtcGxlLmVkd3d3LmV4YW1wbGUubbmV0MA4GA1Ud
DwEB/wQEAwIFoDADBgNVHSUEFjAUBggrBEFBQcDAQYIKwYBBQUAwIwdQYDVR0f
BG4wbDA0oDKgMIYuaHR0cDovL2NybDMUZGlnaWNlcnQuY29tL3NoYTItaGEtc2Vy
dmVyLWc0LmNybDA0oDKgMIYuaHR0cDovL2NybDQuZGlnaWNlcnQuY29tL3NoYTIt
aGEtc2VydmVyLWc0LmNybDBMBgNVHSAERTBDMDcGCWCGSAGG/WwBATAqMCgCCsG
AQUFBwIBFhxodHRwczovL3d3d5kaWdpY2VydC5jb20vQ1BTMAgGBmeBDAECAjCB
gwYIKwYBBQUHAQEEdzB1MCQGCCsGAQUFBzABhohhodHRwOi8vb2NzcC5kaWdpY2Vy
dC5jb20wTQYIKwYBBQUHMAKGQWh0dHA6Ly9YWNlcnRzLmRpZ2ljZXJ0LmNvbS9E
aWdpQ2VydFNIQTIJiaWdoQXNzdXJhbmNlU2VydmVyQ0EU3J0MAwGA1UdEwEB/WQC
MAAwDQYJKoZIhvcNAQELBQADggEBAISomhGn2L0LJn5SJHuyVZ3qMILRCIdvqe0Q
6ls + C8ctRwRO3U3x8q8OH+2ahxlQmpzdC5al4XQzJLiLjiJ2Q1p+hub8MFiMmVP
PZjb2tZm2ipWVuMRM+zgpRVM6nVJ9F3vFfUSHOb4/JsEIUvPY+D8/KRC+kPQwLvy
ieqRbcuFjmqfyPmUv1U9Qikpw7TZU0zYZANP4C/gj4Ry48/znmUaRvy2kvI
l7gRQ21qJTK5suoiyNo3J9T+pXPGU7Lydz/Hw+w0DpArtAaukI8aNX4ohFUKS
wDSIIIWJIWJGbEeIO0TIFwEVWTOnbNl/fPXpk5IRXicapqiII=
---- 结束证书--
subject =/C=US/ST=California /L=Los Angeles/O=Internet Corporation for Assigned Names and Numbers /OU=Technology/CN=www.example.org
Issuer=/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2高保证服务器 CA
--
未发送客户端证书 CA 名称
--
SSL 握手已读取3388字节并写入444字节
--
新、TLSv1/SSLv3、密码为 ECDHE-RSA-AES128-GCM-SHA256
服务器公共密钥为2048位
支持安全重新协商
压缩:无
扩展:无
未协商 ALPN
SSL 会话:
协议 :TLSv1.2
密码 :ECDHE-RSA-AES128-GCM-SHA256
会话 ID:D518BE928503113335A6EFB9EB0CC9FC4C81EAFC769D69D2ACBE5970D544509F
会话 ID ctx:
主密钥:A05DA123D88A1E45268B7DF6BB70697A1F8E412D8F55244CF276807E528A9D119A348E5CC27F64DE5197C4CC233728F4
TLS 会话票证有效期提示:7200 (秒)
TLS 会话票证:
0000 - 9a e1 0e d6 ff cc 59 84-41 Fe 9c 56 C2 95 12 2a...... Y.A.V.*
0010 - 1b 52 10 03 1e EB 39 D4-CF 79 94 3f 07 D4 7c 74 .R....9..y......t
0020 - 35 98 C9 a0 6B A2 26 95-79 D8 f0 68 f3 4D Fe C7 5...K.&.h.M.
0030-ee 1e 9e 70 ce 70 af 25-c9 0c fa dd c6 4b 3448... p..p K4H
0040 - 9b DE 35 99 32 71 59 5e-6e 94 be 430A E5 df E9 ..5.2qY^n.c....
0050 - 0A 78 A5 37 a0 2f 02 D3-7d 0d BD 68 13 D9 CB 03 .x.7.../../.....
0060 - 51 41 65 98 76 ed 1c 08-F8 bf 95 2f 41 66 2f 95 QAe.v.... /Af/.
0070 - 3a E9 34 9c D8 AC F6 AD-BA C2 bc 03 45 4e 5d f6 :.4........ en]。
0080 - 24 DE 98 1a 14 36 E1 B6-D7 A9 9a B1 F6 aa 1e B5 $...6 ..........
0090 - 94 5e 7e 40 3b 34 D9 86-03 D8 B6 50 F7 2a 39 35 .^~@;4..... 第* 95页
开始时间:1517828428
超时 :300 (秒)
验证返回代码:0 (正常)
--
读取:errno=0
