1

RSA 公開鍵と秘密鍵の XML ファイル形式を使用したいと考えています。これらのキーを PEM およびバイナリ (DER) 形式 (たとえば、PEM_write_RSAPrivateKey()) で保存する方法を見つけました。

xml 形式の RSA キーを含む文字列があり、それらを EVP_PKEY または RSA OpenSSL 構造にロードする必要があります。

XML 形式は次のようになります。

<RSAKeyPair>
  <Modulus>...</Modulus>
  <Exponent>...</Exponent>
  <P>...</P>
  <Q>...</Q>
  <DP>...</DP>
  <DQ>...</DQ>
  <InverseQ>
    ...
  </InverseQ>
  <D>...</D>
</RSAKeyPair>

ありがとう!

4

1 に答える 1

2
//just a code for demo,not for actually use  
int len;  
RSA *rsa;  
BIO *bio;
unsigned char *data; 
bio = BIO_new(BIO_s_meme()); 
BIO *b64;  
b64 = BIO_new(BIO_f_base64());  
BIO_write(bio, "<RSAKeyPair>\n",strlen("<RSAKeyPair>\n"));  
//write Modulus
len=BN_num_bytes(rsa->n);  
data=(unsigned char *)OPENSSL_malloc(len);  
if(data) {  
  BIO_write(bio,"  <Modulus>",strlen("  <Modulus>"));
  BN_bn2bin(rsa->n,data);  
  bio = BIO_push(b64, bio);  
  BIO_write(bio, data, len);  
  (void)BIO_flush(bio);  
  BIO_pop(bio);  
  BIO_reset(b64);  
  BIO_write(bio,"</Modulus>",strlen("</Modulus>"));  
}  
//write Exp  
...  
//write the bignum in rsa structure you want  
BIO_write(bio, "</RSAKeyPair>\n",strlen("</RSAKeyPair>")); 
于 2012-04-24T08:18:51.350 に答える