답변
난 당신이 PHP를 사용하여 서명 된 전자 메일을 생성하려면, 제대로 이해합니다.
서명 된 전자 메일을 보내는 표준 방법은 S/MIME입니다 (다른 일반적인 방법은 PGP입니다). S/MIME은 기본적으로 CMS 메시지의 base64 인코딩을 포함하는 MIME 메시지입니다 (CMS는 때로는 PKCS # 7이라고도 함).
PHP에서이 작업을 수행하는 한 가지 방법은 OpenSSL의 openssl_pkcs7_sign
에 대한 PHP 바인딩을 사용하는 것입니다.
내가 서명 한 헤더를 사용해야하는지 잘 모르겠습니다. 당신이 .P12 파일이있는 경우
감사합니다. 정확히 제가 필요한 것입니다! : D –
이러한 헤더가 필요한 이유는 다음과 같습니다. https://support.google.com/mail/answer/180707?hl=ko –
당신은 아마 그것에서 공용 인증서 및 개인 키를 추출해야합니다
개인 키 :
openssl pkcs12 -in <YOUR_FILE>.p12 -nocerts -out privateKey.pem
공공 CERT는 :
openssl pkcs12 -in <YOUR_FILE>.p12 -clcerts -nokeys -out publicCert.pem
그런 다음이 PHP 코드로 서명 된 이메일을 보낼 수 있습니다.
<?php
$data = "This is a test signed email";
// create a temporary file
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);
// sign the email
openssl_pkcs7_sign("msg.txt", "signed.txt",
file_get_contents(realpath("publicCert.pem")),
array(file_get_contents(realpath("privateKey.pem")), '<YOUR_PASS>'),
array(
"To" => "[email protected]",
"From: Jane Doe <[email protected]>",
"Subject" => "This is a test"
)
);
exec(ini_get("sendmail_path") . " < signed.txt");
- 1. PHP의 디지털 서명
- 2. PHP의 openssl 라이브러리와 호환되는 C++의 데이터 서명
- 3. PHP의 SAML 1.1에서 서명 된 어설 션 만들기
- 4. PHP의
- 5. 은 서명 숯불 = 0x00에서 서명 숯불 = '00'
- 6. 해야는 CbCr 값 서명 또는 서명 될
- 7. 잘못된 서명, 자체 서명 된 인증서?
- 8. 서명 패널
- 9. 서명 캡처
- 10. 추가 서명
- 11. 계산 서명
- 12. 디지털 서명
- 13. PHP의 MYSQL,
- 14. PHP의 조건
- 15. PHP의 DOMDocument
- 16. PHP의 밑줄?
- 17. PHP의 트랙백
- 18. PHP의 register_printf_function
- 19. PHP의 시간대
- 20. PHP의 변수
- 21. PHP의 autoforwarding
- 22. PHP의 문제는()
- 23. = & PHP의 연산자
- 24. 자체 서명 인증서로 서명 된 바이너리를 확인하는 방법은 무엇입니까?
- 25. PDF 서명 - 단일 개정판이 포함 된 다중 서명
- 26. ws-security로 메시지에 서명 할 때 서명 할 내용
- 27. 코드 서명 "응용 프로그램이 코드 서명 확인에 실패했습니다 ...."
- 28. iPhone : 서명 된 대신 서명 된 바이트를 저장하는 CFReadStreamRead
- 29. PKCS7 서명 된 CMS에 서명 시간을 추가 하시겠습니까?
- 30. 디지털 서명 - 분산 환경 - 별도의 해싱 및 서명
정확히 원하는 것을 설명하십시오. 서명 된 헤더를 원할뿐 아니라 도메인 키 또는 이와 비슷한 것을 원합니다. –