以前の1.1バージョンでは、私は、構造体bignum_stに「D」フィールドを介してBIGNUMタイプの生の表現へのアクセスを持っていた:私のプログラムでOpenSSL 1.1のBIGNUMビットにアクセスしますか? OpenSSL APIの
struct bignum_st
{
BN_ULONG *d; /* Pointer to an array of 'BN_BITS2' bit chunks. */
int top; /* Index of last used d +1. */
/* The next are internal book keeping for bn_expand. */
int dmax; /* Size of the d array. */
int neg; /* one if the number is negative */
int flags;
};
を私はいくつかの計算後BIGNUMから最下位バイトを取得する必要があります - それはあります非常に簡単に - 単に:OpenSSLのバージョンのAPIで
(bn->d[0] & 0xff)
1.1多くのBN内部は不透明行われている - 私はBIGNUMの表現への直接アクセスを得ることができません。私はまだ生表現を得ることができますが、追加のコピーで - BN_bn2bin
またはBN_mask_bits
のいずれかです。
余分なコピーをせずに最下位バイトにアクセスする方法はありますか?