누군가가 자신이 주장하는 웹사이트를 소유하고 있는지 암호화 방식으로 어떻게 확인할 수 있나요?

누군가가 자신이 주장하는 웹사이트를 소유하고 있는지 암호화 방식으로 어떻게 확인할 수 있나요?

더 구체적으로 말하면 x509 개인 인증서로 텍스트 문자열에 서명하도록 한 다음 문제의 웹 사이트에서 사용하는 공개 인증서를 사용하여 이를 확인할 수 있습니까? 아마도 나는 그들이 서명할 수 있도록 서명되지 않은 인증서나 그 효과를 제공할 수 있을 것입니다.

미리 감사드립니다 :)

답변1

예, 제안하신 대로 바이트 문자열(이 문맥에서는 챌린지 텍스트라고 부를 수 있음)을 보내고 서버의 SSL/TLS 개인 키로 암호화하여 암호 텍스트를 다시 보내도록 한 다음 확인할 수 있습니다. SSL/TLS 서버 인증서의 공개 키로 암호를 해독합니다.

또는 바이트 문자열을 생성하고 이를 서버 인증서의 공개 키로 암호화하여 전송하고 서버의 개인 키로 해독한 후 원본 일반 텍스트를 다시 보내도록 할 수 있습니다.

그러나 SSL 개인 키를 사용하여 이와 같은 작업을 수행하는 방법을 아는 사람은 상대적으로 적으므로 개인 키를 찾고 SSL을 암호화하거나 해독하기 위한 단계별 지침을 그들에게 제공해야 해도 놀라지 마십시오. 도전.

답변2

해당 도메인에서 이메일을 보내도록 하거나 whois(CLI 또는https://www.whois.net/) 연락처가 목록에 있는지 확인하거나 사이트에 확인 페이지를 업로드하도록 할 수 있습니다. url/yeaIownthis.html에 비밀번호 등이 포함되어 있습니다.

답변3

M2Crypto와 Python을 사용하는 방법은 다음과 같습니다.

f = open(CERT_FILE)
cert_buffer = f.read()
f.close()

from M2Crypto import RSA, X509 
cert = X509.load_cert_string(cert_<wbr>buffer, X509.FORMAT_PEM) 
pub_key = cert.get_pubkey() 
rsa_key = pub_key.get_rsa() 
cipher = rsa_key.public_encrypt('<wbr>plaintext', RSA.pkcs1_padding)

print cipher

ReadRSA = RSA.load_key(KEY_FILE)
try:
    plaintext = ReadRSA.private_decrypt (cipher, RSA.pkcs1_padding)
except:
    print "Error: wrong key?"
    plaintext = ""

print plaintext

에서 발췌이것기사.

관련 정보