1
如何將Microsoft導出的密鑰在privatekeyblob中轉換爲可用於openSSL的結構RSA?PRIVATEKEYBLOB到OpenSSL的RSA結構
如何將Microsoft導出的密鑰在privatekeyblob中轉換爲可用於openSSL的結構RSA?PRIVATEKEYBLOB到OpenSSL的RSA結構
在檢查文檔時,它看起來像字段非常直觀地映射,一對一。您是否嘗試過使用這些信息來實現映射代碼?如果不是,我會放棄。
這裏是Microsoft blob(掛RSAPUBKEY):
typedef struct _RSAPUBKEY {
DWORD magic;
DWORD bitlen;
DWORD pubexp;
} RSAPUBKEY;
BLOBHEADER blobheader;
RSAPUBKEY rsapubkey;
BYTE modulus[rsapubkey.bitlen/8];
BYTE prime1[rsapubkey.bitlen/16];
BYTE prime2[rsapubkey.bitlen/16];
BYTE exponent1[rsapubkey.bitlen/16];
BYTE exponent2[rsapubkey.bitlen/16];
BYTE coefficient[rsapubkey.bitlen/16];
BYTE privateExponent[rsapubkey.bitlen/8];
這裏是RSA struct:
struct
{
BIGNUM *n; // public modulus
BIGNUM *e; // public exponent
BIGNUM *d; // private exponent
BIGNUM *p; // secret prime factor
BIGNUM *q; // secret prime factor
BIGNUM *dmp1; // d mod (p-1)
BIGNUM *dmq1; // d mod (q-1)
BIGNUM *iqmp; // q^-1 mod p
// ...
};
RSA
是的,我試過,但沒有發現BIGNUM * E在微軟結構,我試圖從RSAPubkey獲得它,但沒有成功。 – Rampage 2010-11-29 18:59:59