Vytvoření klíče pro asymetrickou kryptografii

Školení, která pořádám

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í (13.3.2018, Praha).

Jakub Vrána, Řešení problému, 3.10.2007, diskuse: 0 (nové: 0)

Vložit komentář

Používejte diakritiku. Vstup se chápe jako čistý text, ale URL budou převedeny na odkazy a PHP kód uzavřený do <?php ?> bude zvýrazněn. Pokud máte dotaz, který nesouvisí s článkem, zkuste raději diskusi o PHP, zde se odpovědi pravděpodobně nedočkáte.

Jméno: URL:

avatar © 2005-2018 Jakub Vrána. Publikované texty můžete přetiskovat pouze se svolením autora. Ukázky kódu smíte používat s uvedením autora a URL tohoto webu bez dalších omezení Creative Commons. Můžeme si tykat. Skripty předpokládají nastavení: magic_quotes_gpc=Off, magic_quotes_runtime=Off, error_reporting=E_ALL & ~E_NOTICE a očekávají předchozí zavolání mysql_set_charset. Skripty by měly být funkční v PHP >= 4.3 a PHP >= 5.0.