2

次のコマンドを使用して公開鍵ファイルを作成しました。

openssl genrsa -out mykey.pem 2046
openssl rsa -in mykey.pem -pubout > mykey.pub

次に、いくつかの C コードから読み取ります。

public_key = PEM_read_RSA_PUBKEY(fp, NULL, NULL, NULL);

次に、この公開鍵の DER 形式を取得します。

int len = i2d_RSAPublicKey (public_key, NULL);
buf = (unsigned char *) malloc (len);
i2d_RSAPublicKey (public_key, &buf);

ここで長さ == 269

しかし、コマンドラインopensslは私に教えてくれます:

openssl rsa -outform der  -pubin -inform pem -in mykey.pub | wc
writing RSA key
       1      10     293

openssl と C コードから DER フォームを出力すると、明らかに一致せず、奇妙なことに、C コードが取得する DER には多くのゼロがあります。

私は何が間違っているのでしょうか?

4

1 に答える 1