2017-08-01 62 views
1

此前1.1版本的OpenSSL API的我不得不通過「d」字段結構bignum_st獲得BIGNUM類型的原始表示:訪問OpenSSL 1.1中的BIGNUM位?

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最低字節 - 這是很容易 - 只需爲:

(bn->d[0] & 0xff) 

隨着OpenSSL的版本API 1.1多國陣內部已經進行了不透明的 - 我不能去BIGNUM的表現直接訪問。我仍然可以得到原始的代表性,但有額外的複製 - BN_bn2binBN_mask_bits

有沒有辦法訪問最低字節而無需額外複製?

回答