Home > php > Crypt_RSA_KeyPairでfromPEMStringが動かない

Crypt_RSA_KeyPairでfromPEMStringが動かない  

PHPで公開鍵暗号を利用する場合、PEARのCrypt_RSAが利用できます。

このCrypt_RSAで、KeyPairをPEM形式の文字列から生成するためにCrypt_RSA_KeyPair::fromPEMString($pem) な関数があるのですが、手元の環境では動きませんでした。原因はundefinedな配列を操作しているみたいで。と、いうわけで以下、修正方法。

Crypt/RSA/KeyPair.phpの235行目に

$len |= ord($in[$pos++]);

な箇所がありますが、これを

$len |= ord($str[$pos++]);

にすればOKです。これで、次にように確認できるはず。

$key_pair = new Crypt_RSA_KeyPair(1024);
echo("[PubKey]" . $key_pair->getPublicKey()->toString() . "\n");
echo("[PriKey]" . $key_pair->getPrivateKey()->toString(). "\n");

$pem = $key_pair->toPEMString();
echo("[PEM]" . $pem);

$new_key_pair = Crypt_RSA_KeyPair::fromPEMString($pem);
echo("[PubKey]" . $new_key_pair->getPublicKey()->toString() . "\n");
echo("[PriKey]" . $new_key_pair->getPrivateKey()->toString(). "\n");

それにしても、$inな配列なんてどこにも出てきてないのに、βとはいえ、よくこれでリリースしてるなぁ。。。

Google Adsense

Social bookmark comment : 0

No comment.

Comment:0

Comment Form

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

Remember personal info
           

Trackback:0

TrackBack URL for this entry
http://blog.katsuma.tv/mt-tb.cgi/68
Listed below are links to weblogs that reference
Crypt_RSA_KeyPairでfromPEMStringが動かない from blog.katsuma.tv

Home > php > Crypt_RSA_KeyPairでfromPEMStringが動かない

Search
Feeds
Google Adsense

Page Top