için Diffie Hellman anahtarının bilgi paylaşımı ile ilgili sorunlar Ben bir Wordpress eklentisi olarak kullanılmak üzere OpenID için durum bilgisi olan bir kitaplık oluşturmaya çalışıyorum, kullanarak gizli değeri hesaplamaya çalıştığımda bir sorunla karşılaşıyorum openssl işlevi openssl_dh_compute_key. Birisi bazı adımları varsa deneyebilirsiniz, ipuçları, vb olabilir ...OpenID
Teşekkürler!
const DH_DEFAULT_PRIME = "dcf93a0b883972ec0e19989ac5a2ce310e1d37717e8d9571bb7623731866e61ef75a2e27898b057f9891c2e27a639c3f29b60814581cd3b2ca3986d2683705577d45c2e7e52dc81c7a171876e5cea74b1448bfdfaf18828efd2519f14e45e3826634af1949e5b535cc829a483b8a76223e5d490a257f05bdff16f2fb22c583ab";
const DH_DEFAULT_GENERATOR = '02';
benim Diffie-Hellman anahtar
private function createDHKey($priv_key = false) {
if (!$priv_key) {
$details = array();
$details['p'] = pack('H*', self::DH_DEFAULT_PRIME);
$details['g'] = pack('H*', self::DH_DEFAULT_GENERATOR);
$this->dh = openssl_pkey_new(array(
'dh' => $details,
));
if ($this->dh) {
return true;
} else {
error('OpenSSL failed to export your private key, ensure you have a valid configuration file, and PHP can find it.');
}
} else {
$this->dh = openssl_pkey_get_private($priv_key);
return false;
}
}
hem görüntülerin düğmesine
Ag == olduğunu
oluşturma
sabitleri ... dh ['g'] 'nin base64 kodlu değeri.
Oluşturulan özel anahtarı, kalıcı hale getirmek için bir veritabanına kaydediyorum; bu, daha sonra anahtarı openssl_pkey_get_private işleviyle yeniden oluşturmamı sağlar.
Ancak dernek isteğinden openid.dh_server_public döndü ve onu geçen ve benim anahtar
var_dump(openssl_dh_compute_key($this->op_pubkey, $this->dh));
Gerçekten bu işlevin daha iyi belgelenmesini diliyorum! : \ –
Şimdi ... bkz http://php.net/manual/en/function.openssl-dh-compute-key.php – velcrow