Travaux Pratiques - bsdsocket + amissl
Suite de la découverte de la bsdsocket.library
Avec la bibliothèque bsdsocket.library, on ouvre la porte d'internet, sauf que notre bon vieil AmigaOS est resté à l'ère pré-internet, où il suffisait de se connecter par modem à un serveur en toute confiance, personne ne pouvait intercepter quoi que ce soit. Malheureusement cette époque bénie est révolue. Certaines personnes mal intentionnées, que ce soit des pirates ou des états espionnent tout ce qui transite sur le réseau. Alors mettons nos données dans des tunnels sécurisés...
OpenSSL
OpenSSL est une boîte à outils (API, Application Programming Interface) robuste et complète pour les protocoles TLS (Transport Layer Security) et SSL (Secure Sockets Layer). C'est aussi une bibliothèque de cryptographie polyvalente. Pourquoi vouloir réinventer la roue, ça existe, utilisons-le... Sauf que sur un système donné pour mort, ce n'est pas aussi simple.
AmiSSL
AmiSSL est le portage OpenSSL pour AmigaOS/MorphOS/AROS. Il englobe toutes les fonctionnalités d'OpenSSL dans une bibliothèque partagée à part entière Amiga qui permet aux applications Amiga d'utiliser l'intégralité de l'API OpenSSL via une interface de bibliothèque partagée Amiga standard (par exemple, les navigateurs Web souhaitant prendre en charge HTTPS, etc.) ...
Télécharger AmiSSL-4.x depuis aminet ou depuis github.
Il faut au minimum un AmigaOS 3.x un processeur au moins égal à 68020, plus de 8Mo de mémoire, car ces .library sont énormes.
Bien qu'étant équipé du 3.1.4.1, mais que je n'ai qu'un pauvre A2000 à base de 68000, WinUAE est tout indiqué.
openssl version
OpenSSL 1.1.1i 8 Dec 2020
CONNECTED(00000000) depth=2 OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign verify return:1 depth=1 C = US, O = Google Trust Services, CN = GTS CA 1O1 verify return:1 depth=0 C = US, ST = California, L = Mountain View, O = Google LLC, CN = www.google.com verify return:1 --- Certificate chain 0 s:C = US, ST = California, L = Mountain View, O = Google LLC, CN = www.google.com i:C = US, O = Google Trust Services, CN = GTS CA 1O1 1 s:C = US, O = Google Trust Services, CN = GTS CA 1O1 i:OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign --- Server certificate -----BEGIN CERTIFICATE----- MIIEyTCCA7GgAwIBAgIQUM2FlxMdf0ICAAAAAIcCIjANBgkqhkiG9w0BAQsFADBC MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVR29vZ2xlIFRydXN0IFNlcnZpY2VzMRMw EQYDVQQDEwpHVFMgQ0EgMU8xMB4XDTIxMDExOTA4MDQwN1oXDTIxMDQxMzA4MDQw NlowaDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcT DU1vdW50YWluIFZpZXcxEzARBgNVBAoTCkdvb2dsZSBMTEMxFzAVBgNVBAMTDnd3 dy5nb29nbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEm/qFSVRrHj40 m7C9KXwFYVYqNoodl2MxnESyexR4x2cq+ARpFw2DwN4te7H0hj02zliKWjKuEGpu me6OvCwZkKOCAl4wggJaMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEF BQcDATAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQWYvdGRLFnZOdQdCBgE6z3YMsb czAfBgNVHSMEGDAWgBSY0fhuEOvPm+xgnxiQG6DrfQn9KzBoBggrBgEFBQcBAQRc MFowKwYIKwYBBQUHMAGGH2h0dHA6Ly9vY3NwLnBraS5nb29nL2d0czFvMWNvcmUw KwYIKwYBBQUHMAKGH2h0dHA6Ly9wa2kuZ29vZy9nc3IyL0dUUzFPMS5jcnQwGQYD VR0RBBIwEIIOd3d3Lmdvb2dsZS5jb20wIQYDVR0gBBowGDAIBgZngQwBAgIwDAYK KwYBBAHWeQIFAzAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3JsLnBraS5nb29n L0dUUzFPMWNvcmUuY3JsMIIBBgYKKwYBBAHWeQIEAgSB9wSB9ADyAHcA9lyUL9F3 MCIUVBgIMJRWjuNNExkzv98MLyALzE7xZOMAAAF3GeMWWwAABAMASDBGAiEAqJMd YOJ345g5V2HPVjlqCmAhHMEcRvftCiowjS2p2E4CIQD955xd+t5iYsqZt8MRCBLq 0CSCO03B73k06YtGFk0r8wB3AFzcQ5L+5qtFRLFemtRW5hA3+9X6R9yhc5SyXub2 xw7KAAABdxnjFo4AAAQDAEgwRgIhAM/XaCvFcB6Tp+aAX3zt/ONSWoDlpSmRwr2T TfdOn0JzAiEA29hRHvb13cIYyZI5V4UVPM7q+ESHh6SymAZMClAWLDIwDQYJKoZI hvcNAQELBQADggEBAAOCfbrvJmlyLM7HGMsl6V5YzsrhXsFrxEg7ceC5/KO0dTI+ 7vnHRTQjCexWogDwa/aPcwVxiSe9tYBug/2+GIx0gyq1ypcOT3qbWfzdddfFIGmv +E+qATKKry6PVX4njjGkym+tf/2qVYnxsOoH71rAKV3EtsHHeAjAo/RjazoJRhIq eAvdYT+ATqAXlVQiOQzVY6GZGSy6RbnZRJqw5pZsMAY1m3ci6JqSerFcznp0wriV e7jD3XeOkJdi64HryeZzZNy/PFFy6zauojNfXadFVG5hm9Zp5Bs08oIyG0ljhON1 GSyVraIeoMZDQ7Bs3ku1tG37iC5HTcgXhHmK8Zw= -----END CERTIFICATE----- subject=C = US, ST = California, L = Mountain View, O = Google LLC, CN = www.google.com issuer=C = US, O = Google Trust Services, CN = GTS CA 1O1 --- No client certificate CA names sent Peer signing digest: SHA256 Peer signature type: ECDSA Server Temp Key: X25519, 253 bits --- SSL handshake has read 2641 bytes and written 396 bytes Verification: OK --- New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384 Server public key is 256 bit Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE No ALPN negotiated Early data was not sent Verify return code: 0 (ok) --- read:errno=0
Conclusion
Maintenant que l'on a installé correctement AmiSSL, on va peut-être pouvoir l'utiliser...