Už jsem psal o tom, jak s využitím asymetrické kryptografie ukládat např. čísla kreditních karet. Vygenerování páru klíčů ale bohužel není zcela intuitivní, hlavně kvůli zavádějícím názvům funkcí v PHP. Např. funkce openssl_pkey_get_public neslouží k získání veřejného klíče ze soukromého, ale pracuje s certifikátem. Veřejný klíč potom vrací jako jednu ze svých položek funkce openssl_pkey_get_details.
<?php $pkey = openssl_pkey_new(); $details = openssl_pkey_get_details($pkey); $PUBLIC_KEY = $details["key"]; openssl_pkey_export($pkey, $PRIVATE_KEY); ?>
Uvedený kód vygeneruje pár klíčů do proměnných $PUBLIC_KEY
a $PRIVATE_KEY
. Soukromý klíč je vhodné chránit heslem, to je možné předat jako další parametr funkci openssl_pkey_export.
Přijďte si o tomto tématu popovídat na školení Bezpečnost PHP aplikací.
Diskuse je zrušena z důvodu spamu.