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.

[参考译文] CC3100:EK_TM4C1294XL - HTTPS 错误102

Guru**** 2553490 points
Other Parts Discussed in Thread: CC3100

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/661972/cc3100-ek_tm4c1294xl---https-error-102

器件型号:CC3100

您好!

我正在尝试使用 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、&params);

我的问题如下:

  1. 如何确保使用正确的密码? 我需要根据 根 CA 使用 ECDHE-RSA-AES128-GCM-SHA256。
  2. 我应该按照 示例代码使用 TLS_PARAMS_INIT、还是   这篇文章所建议的那样使用 HTTPCLI_SecureParams?
  3. 您能想到出现此错误的任何其他原因并建议修复吗?

为了表明我已经完成了一些尽职调查、我可以使用以下命令验证我正在使用的证书是否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

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Tim、

    为了排除证书或闪存过程中的任何错误、我建议在使用 HTTP 客户端库转到示例之前创建一个简单的示例、该示例只需创建一个安全套接字并连接到端口443上的服务器。 为供参考、您可以使用 CC3100 SDK 中的 SSL 示例。

    否则、您应该能够从 HTTP 客户端库中检查 errno、以找出确切的连接错误是什么(由 simplelink wi-fi 设备生成)。

    您已链接的帖子似乎基于较旧版本的 Tiva C SDK。 对于此 SDK 版本、我建议坚持使用 TLS_Params_init。

    此致、
    本·M
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、我已经解决了。 www.example.com 的导出根 CA 似乎不太正确。

    这就是我得到一个工作的方式:

    使用 http://ssltools.com 获取根 CA 作为 DER

    使用 www.sslshopper.com/ssl-converter.html 将 DER 转换为 PEM

    将 PEM 中的文本复制到代码中、然后它就可以正常工作了!

    感谢你的帮助

    谢谢