
openssl_pkcs12_export 함수의 인자 중 passphrase와 passphrase_callback의 차이점은 다음과 같습니다.
- passphrase는 PKCS#12 파일의 암호를 설정하는 데 사용됩니다. 암호를 직접 입력하거나, 암호를 저장한 후 passphrase를 사용하여 암호를 입력받습니다.
- passphrase_callback은 암호를 입력할 때마다 콜백 함수를 호출하여 암호를 입력받는 방법을 사용합니다. 콜백 함수는 암호를 입력받는 데 사용할 수 있으며, 암호를 저장하는 데 사용할 수 없습니다.
passphrase_callback을 사용하는 경우, 암호를 입력받는 방법은 다음과 같습니다.
1. 콜백 함수를 호출하여 암호를 입력받습니다.
2. 콜백 함수는 암호를 입력받은 후 콜백 함수를 종료합니다.
3. 콜백 함수가 종료된 후, PKCS#12 파일의 암호를 설정합니다.
passphrase_callback을 사용하는 경우, 암호를 저장하는 방법은 다음과 같습니다.
- 암호를 콜백 함수 내에서 저장할 수 없습니다. 콜백 함수는 암호를 입력받기만 하며, 암호를 저장하는 데 사용할 수 없습니다.
- 암호를 콜백 함수 외부에서 저장할 수 있습니다. 콜백 함수 내에서 암호를 입력받은 후, 콜백 함수 외부에서 암호를 저장할 수 있습니다.
예를 들어, passphrase_callback을 사용하여 PKCS#12 파일의 암호를 설정할 수 있습니다.
#hostingforum.kr
php
function passphrase_callback($password) {
// 암호를 입력받은 후 콜백 함수를 종료합니다.
return $password;
}
// PKCS#12 파일의 암호를 설정합니다.
openssl_pkcs12_export($cert, $private_key, passphrase_callback, 'output.p12');
위 예제에서, passphrase_callback 함수는 암호를 입력받은 후 콜백 함수를 종료합니다. 콜백 함수 내에서 암호를 저장할 수 없으므로, 콜백 함수 외부에서 암호를 저장해야 합니다.
2025-04-19 18:23