Sto cercando di integrarmi con un servizio di terze parti e hanno richiesto la chiave pubblica del nostro server. L'ho inviato a loro e hanno detto che l'hanno configurato sulla loro estremità. Per farmi fare richieste, sostengono che devo includere il certificato con la richiesta.
Come funziona esattamente questo schema? Non vedo come una borsa Diffie-Hellman possa funzionare in questo caso. Qualsiasi schema che penso possa essere facilmente rotto nel caso di un MITM. Non abbiamo modo di generare il segreto e inviarlo a loro in modo sicuro come una normale stretta di mano. Ma se generano il segreto, come possono inviarlo indietro e dimostrare che sono stati loro a generarlo?
Sto usando cURL quindi presumo che vogliano che faccia la richiesta con il flag --cert (include la chiave pubblica e privata).
--cert tells curl to use the specified client certificate file when getting a file with HTTPS, FTPS or another SSL-based protocol. The certificate must be in PKCS#12 format if using Secure Transport, or PEM format if using any other engine. If the optional password isn't specified, it will be queried for on the terminal. Note that this option assumes a "certificate" file that is the private key and the client certificate concatenated.