2

背景:私は暗号化アプリケーションに取り組んでいます。アプリは Objective C で記述されていますが、Windows で実行できるようにパスカルで書き直したいと考えています。私はすでに知っている言語であるためパスカルを使用し、無料のIDEであるためラザロを使用しています

質問: lazarus で openSSL の BigNum モジュールを使用するにはどうすればよいですか。このユニットをダウンロードしました: http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/packages/openssl/src/

そして私はそれを入れました uses openssl;

ただし、BIGNUMを宣言しようとすると

procedure Tform3.Button1Click(Sender: TObject);
var bits:integer;
    p:BIGNUM;
begin
   bits:=512;

   p:=BN_new();
   BN_generate_prime(p, bits, FALSE, NULL, NULL, NULL, NULL);

end;  

エラーが表示されます: エラー: 識別子が見つかりません "BIGNUM"

BigNum モジュールと BN_generate prime(module) を使用するにはどうすればよいですか?

4

1 に答える 1

4

使用しているユニットは 3 つの DLL のインポート ユニットであり、そのうちの 1 つがlibeay32.dllです。残念ながら、 libeay32.dllからすべての関数を完全にインポートするわけではありません。たとえば、BIGNUM探している部分が省略されます。

おそらく、 libeay32.pasと呼ばれるこのユニットのように、すべての機能を備えているように見えるより良いインポートユニットを見つけることができます。または、このリンクBN_からヘッダーを取得して、不足している機能をopenssl.pasに追加することもできます。それは些細なことではありませんが、元に戻すこともできません。私はすぐに翻訳されたユニットを選びます。よさそうです。このWeb サイトには、他にも必要なものがいくつかあるようです。

于 2011-09-03T15:27:53.237 に答える