mirror of
https://github.com/W3SLAV/micropython.git
synced 2025-06-19 12:05:32 -04:00

And only enable this method when the relevant feature is available in mbedtls. Otherwise, if mbedtls doesn't support getting the peer certificate, this method always returns None and it's confusing why it does that. It's better to remove the method altogether, so the error trying to use it is more obvious. Signed-off-by: Damien George <damien@micropython.org>
25 lines
511 B
Python
25 lines
511 B
Python
# test ssl.getpeercert() method
|
|
|
|
import io
|
|
import socket
|
|
import ssl
|
|
|
|
s_test = ssl.wrap_socket(io.BytesIO(), server_side=True, do_handshake=False)
|
|
s_test.close()
|
|
if not hasattr(s_test, "getpeercert"):
|
|
print("SKIP")
|
|
raise SystemExit
|
|
|
|
|
|
def test(peer_addr):
|
|
s = socket.socket()
|
|
s.connect(peer_addr)
|
|
s = ssl.wrap_socket(s)
|
|
cert = s.getpeercert(True)
|
|
print(type(cert), len(cert) > 100)
|
|
s.close()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
test(socket.getaddrinfo("micropython.org", 443)[0][-1])
|