First, we verify that the copy of resume-ryan-petroff-signed.pdf you have matches the hashes below. You can use an online tool like https://md5file.com/calculator or https://www.toolsley.com/hash.html for convenience. resume-ryan-petroff-signed.pdf (application/pdf) - 33973 bytes MD5 261e0fc1a101194aaaa4c2a2f4d7bcab SHA-1 673be9599c5b0f43c4c2fdb52b931a1bbaa1d165 SHA-256 d87decc2a6f81888b6d7248e3155908047fc7af06d600ae8ead19127d33fc313 SHA-384 30297ec5f77e8aa1ec372d617d5185ea9da263c9e22236258decf6cf98ecea4e69ef6fe41f7de76a3c22029af3233a87 SHA-512 ce3011d250c70f55d689da5e8111f0dec4535cbc0d776f0442ca555dd2616eef10131fb4f286488758e9a9c9528c9f43f65369f3e603532b20963cf9fd753d73 IPFS QmehRpbDZK28JjGaRcUkUDs9osp4CWk3m5xRd84zXkL1nZ resume-ryan-petroff-signed.pdf Second, we verify the signature of those hashes. You can use an online tool like https://app.mycrypto.com/verify-message for convenience. Signature: { "address": "0x00555dC77a343E205CB1C7755407c93470DB3F91", "msg": "resume-ryan-petroff-signed.pdf\t(application/pdf) - 33973 bytes\nMD5\t261e0fc1a101194aaaa4c2a2f4d7bcab\nSHA-1\t673be9599c5b0f43c4c2fdb52b931a1bbaa1d165\nSHA-256\td87decc2a6f81888b6d7248e3155908047fc7af06d600ae8ead19127d33fc313\nSHA-384\t30297ec5f77e8aa1ec372d617d5185ea9da263c9e22236258decf6cf98ecea4e69ef6fe41f7de76a3c22029af3233a87\nSHA-512\tce3011d250c70f55d689da5e8111f0dec4535cbc0d776f0442ca555dd2616eef10131fb4f286488758e9a9c9528c9f43f65369f3e603532b20963cf9fd753d73\nIPFS QmehRpbDZK28JjGaRcUkUDs9osp4CWk3m5xRd84zXkL1nZ resume-ryan-petroff-signed.pdf", "sig": "0x47fb58efd74253903c1d12df54c85a6d9ab80f8c89f064a2acdcd0035a8e3ed429094de391668c721a73cde64e81b3df1b4e0c9fae04f1e88dd8bc75daeb536e1c", "version": "2" } Once you've verified the file hashes and signature, you can trust the integrity and authenticity of the signed document. :) --------------------------------------------------------------------------------------------------------------------------- Bonus points: I found a service that appears to serve signed messages that can be used for extra verification like so: https://etherscan.io/verifySig/2831 It choked on the above completely valid signature, but accepted this simplified signature: { "address": "0x00555dc77a343e205cb1c7755407c93470db3f91", "msg": "261e0fc1a101194aaaa4c2a2f4d7bcab 673be9599c5b0f43c4c2fdb52b931a1bbaa1d165 d87decc2a6f81888b6d7248e3155908047fc7af06d600ae8ead19127d33fc313 30297ec5f77e8aa1ec372d617d5185ea9da263c9e22236258decf6cf98ecea4e69ef6fe41f7de76a3c22029af3233a87 ce3011d250c70f55d689da5e8111f0dec4535cbc0d776f0442ca555dd2616eef10131fb4f286488758e9a9c9528c9f43f65369f3e603532b20963cf9fd753d73 QmehRpbDZK28JjGaRcUkUDs9osp4CWk3m5xRd84zXkL1nZ", "sig": "0xf7865a0d603545c21a0f8f496fad415706c6456c8d4299eb83052335b7303c9652298a453be2b36849ee5b8c4957b60dba082d7fdfe5feca9db0a8cc9e2e02751b", } Et voila! This signed message is now republished here: https://etherscan.io/verifySig/2832 That was a journey! Thanks for sticking with it :)