2011-07-31 31 views
5

テキストを暗号化したり、公開鍵を使用して別のコンポーネントを暗号化するにはコンポーネントやライブラリが必要ですOpenSSLによって生成されます。RSAを使用してテキストを暗号化/復号化するためのDelphiコンポーネント/ライブラリが必要

私はLockBox(新しいバージョン、v3)を使用すると思っていましたが、ここの他のユーザーによると、古いバージョンほど良くはなく、もっと重要なことに、他のライブラリのキーを使用することはできません。 (OpenSSL's PEM file and Lockbox3 interoperabilityを参照)

私はDelphi 7を使用しています。ここで

+1

なぜ「No DLL」ですか? opensslのDLLを使用すると、opensslの相互運用性が簡単に得られます。アプリケーションのインストーラにdllをパックすることができます。 – osgx

答えて

4

当社SecureBlackbox意志仕事をしなさい。 Delphi 7がサポートされています。 PEM形式の証明書とキーもサポートされています(PEMにエンコードされた未処理のRSAキーがある場合は、コードを書き留めてX.509証明書が1回の関数呼び出しでロードされます) 。

6

私たちはDelphi 2010でLockbox 2を使用しています。私はそれがまた、デルファイ7で動作する必要がありますね。ここのサンプルコードです:

unit LBRSA; 

interface 

uses 
    LbCipher, 
    LbRSA, 
    LbString, 
    LbUtils; 

    function DecryptRSA(const CipherText: String): String; overload; overload; 
    function DecryptRSA(const CipherText, Exponent, Modulus: String): String; overload; 

implemention 


function EncryptRSA(const ClearText, Exponent, Modulus: String): String; 
var 
    RSA: TLbRSA; 
begin 
    RSA := TLbRSA.Create(nil); 
    try 
    RSA.PublicKey.ExponentAsString := Exponent; 
    RSA.PublicKey.ModulusAsString := Modulus; 

    Result := RSA.EncryptStringW(ClearText); 
    finally 
    FreeAndNil(RSA); 
    end; 
end; 

function DecryptRSA(const CipherText, Exponent, Modulus: String): String; 
var 
    RSA: TLbRSA; 
begin 
    RSA := TLbRSA.Create(nil); 
    try 
    RSA.PrivateKey.ExponentAsString := Exponent; 
    RSA.PrivateKey.ModulusAsString := Modulus; 

    Result := RSA.DecryptStringW(CipherText); 
    finally 
    FreeAndNil(RSA); 
    end; 
end; 

end. 

ロックボックスを使用すると、公開鍵と秘密鍵を生成することができますデモアプリケーションが含まれています。

関連する問題