boost2020

Results 5 comments of boost2020

如果用20时 ,debug的信息是如下: ``` if (ssl3_hs_state.state < 20) { // not finished yet. return 0; } cat /sys/kernel/debug/tracing/trace_pipe -37497 [001] .... 25640037.438187: 0: client_version:0, state:0, tls13_state:0 -37497 [001] .... 25640037.438193: 0:...

但是确实有点奇怪,从客户端看确实状态到了20 ``` * ALPN, offering h2 * ALPN, offering http/1.1 * successfully set certificate verify locations: * CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none } [5 bytes data] * TLSv1.3 (OUT), TLS handshake,...

That's right, I changed the max to 18 to output the key. I'll debug it again

gdb了nginx看了一下,boringssl中ssl_in_init这个貌似只到了18就结束,也就是后面的19,20都没有到ssl_in_init ![image](https://github.com/gojue/ecapture/assets/62824352/eed4c4e8-5e82-45c5-9951-c64f6b9f69a2) ![image](https://github.com/gojue/ecapture/assets/62824352/3fc8b936-a159-4a91-bb58-5acd816666ac) 所以这应该是bosringssl_masterkey.h中我把它改小到18才能输出key的原因。

再次确认ssl_in_init在state 19后不再调用,确切的证据: ![image](https://github.com/gojue/ecapture/assets/62824352/c166d8ad-1cb7-4538-a17f-dcd3fcd9fcf2) ![image (1)](https://github.com/gojue/ecapture/assets/62824352/932a16bd-767d-4556-b689-49d6d7809000) ![image (2)](https://github.com/gojue/ecapture/assets/62824352/f536b1d2-b1aa-4691-ac2b-f26f08f82d7e) ![image (3)](https://github.com/gojue/ecapture/assets/62824352/41bbd737-1e7d-4150-ae6d-85c7fb736775) 在state 18时调用了3次ssl_in_init,所以在我这种情景下,只能用18,否则无法取到key if (ssl3_hs_state.state < 18) { // not finished yet. return 0; }