I'm aware that you can use tools like GPG to both encrypt and sign information.

However HTTPS seems to only be used for encryption. The browser shows me the connection is secure, but there is no way that I know if for me to save a page to prove that X domain sent Y content at Z time

I'm guessing that I'm theory this is possible to do. If you somehow stored the browsers generated value and the SSL handshake and the data that was sent. Is my understanding correct?

Are there any tools to do this?

For background I was thinking it would be useful to store tweets from public figures and companies in a format that was verifiable in the case that they are subsequently deleted. Screenshots are commonly used but are not verifiable.


1 Answer 1


The application data within TLS are encrypted with a key known to both client and server. The application data are only encrypted and integrity protected by a HMAC but they are not signed by the server. This means that the client could take an existing TLS handshake with the server and use the key exchanged by this handshake to encrypt whatever data it wants. Since the application data are not signed by the server there will be no way for a third party to verify if these data were actually sent by the server or if the client has faked these data.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .