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