我想從OpenSSL(已被刪除)到OSCX上的代碼移植到Crypto ++,並且無法使RSA簽名驗證正常工作。我對公鑰的構建方式有點懷疑。現有代碼將base64值解碼爲字節緩衝區,然後使用BIN_bin2bn
創建模數和指數。我提供了相同的字節緩衝區到CrytoPP::Integer
,但如果這是正確的方式有一些疑問。來自OpenSSL的BN_bin2bn與使用字節數組的Crypto ++ Integer的構造函數相同嗎?
1
A
回答
1
來自OpenSSL的BN_bin2bn與Crypto ++ Integer的構造函數相同,它需要一個字節數組?
給與或接受,是的。
OpenSSL的BN_bin2bn
需要一個二進制字節數組並返回一個BIGNUM
。這相當於Crypto ++ Integer
。您應該顯示如何使用字節數組以確保正確使用它。
加密++ Integer
constructorInteger (const byte *encodedInteger, size_t byteCount, Signedness sign=UNSIGNED, ByteOrder order=BIG_ENDIAN_ORDER)
與OpenSSL的BN_bin2bn
是最相同的東西。當你拿走默認參數時,ctor是Integer (const byte *encodedInteger, size_t byteCount)
。您應該顯示如何使用字節數組以確保正確使用它。
爲了完整起見,以下是他們的wiki上的OpenSSL文檔RSA Signing and Verifying。這裏是來自他們的wiki上的Crypto ++文檔RSA Signing and Verifying。
但是,如前所述,您應該顯示您的代碼。關於算法的描述我們可以做的不多。
相關問題
- 1. Swift中的init與C#中的構造函數相同嗎?
- 2. C#「構造函數」與Obj-C「初始化函數」相同嗎?
- 3. 構造函數在使用Integer數組時不起作用
- 4. 構造函數的問題:使用堆棧的自然數<Integer>
- 5. 構造函數傳遞相同的int?
- 6. 來自靜態構造函數的Database.SetInitializer
- 7. 來自ObjectInputStream構造函數的EOFException
- 8. 來自基類的C++構造函數
- 9. 來自構造函數的訪問值
- 10. Java:使用不同的構造函數
- 11. 在構造函數中調用不同類的構造函數?
- 12. 從不同類的構造函數調用構造函數
- 13. 錯誤,同時還與參數的構造函數組件
- 14. 可以在類的構造函數中使用「new」來調用Java中的另一個構造函數嗎?
- 15. 來自Lua的構造函數的訪問函數
- 16. 是構造函數生成的默認構造函數嗎?
- 17. 構造函數內的構造函數
- 18. 具有不同參數的相同構造函數
- 19. Scala:在Scala中使用來自Java的多個構造函數
- 20. CodeIgniter使用來自構造函數的全局會話變量
- 21. 在與超類構造函數不同的子類中定義構造函數?
- 22. 通過字節數組構造虛擬函數的結構是否安全?
- 23. 數組中的大數 - 構造函數
- 24. C++數組構造函數的參數
- 25. 來自Tracker afterFlush函數的例外:fabric.Canvas不是構造函數
- 26. 包含完全相同類的參數的類構造函數
- 27. 默認構造函數與正常構造函數的類C++
- 28. ECDSA與OpenSSL簽名,使用Crypto ++驗證
- 29. JavaScript函數具有相同屬性推構造對象數組
- 30. 使用來自Bean對象的JSON構造數組
感謝您確認我的選擇是正確的,但實際上我發現驗證失敗是由於其他問題,但至少我現在有外部認可,我正在做這項工作,因爲crypto ++頁面中的示例顯示了公鑰建設來自C風格的字符串。 –