3
我想剛剛初始化一個PK_Signer對象,這似乎給我更多的問題,然後Botan版本1.8.10。我目前使用牡丹的最新的穩定版(1.10),和我有麻煩......Botan PK_Signer
在牡丹1.8.10,我看到的例子,其中的程序員是這樣的:
Botan::RSA_PrivateKey pkey(rng, p, q, 65537, 0, n);
Botan::PK_Signer signer(pkey, "EMSA3(SHA-1)");
在牡丹1.10。 3,沒有像PK_Signer類那樣的構造器。有2個構造函數:
Botan::PK_Signer(const PK_Signer &);
Botan::PK_Signer(const PK_Signing_Key &key, EMSA *emsa);
這是不是一個問題,直到我開始真正遇到第二個構造函數的問題。
我試過改變很多東西,但最有意義的方式是: Botan :: AutoSeeded_RNG rng; Botan :: RSA_PrivateKey pkey(rng,p,q,0x10001,0,n);
Botan::EMSA3 emsa(Botan::SHA_160);
Botan::PK_Signer signer(pkey, &emsa);
這樣做將引發錯誤:
error: no matching function for call to 'Botan::PK_Signer::PK_Signer(Botan::RSA_PrivateKey&, Botan::EMSA3 (*)(Botan::SHA_160))'
我不知道爲什麼會這樣,因爲根據牡丹文檔從抽象類EMSA EMSA3繼承。感謝您的幫助,Hetelek。