1

私は現在、ファイルを取得してgpg.exeを使用して暗号化できるC#で記述されたアプリを持っています

私がやろうとしているのは、1。ファイルの作成(通常はデータベースクエリから)2。ファイルの暗号化3.暗号化されていないファイルの削除

したい

  1. 情報をメモリに収集します(辞書やリストなどに)
  2. テキスト/データをgpg.exeにストリーミングして、暗号化されたファイルを出力します

パイプストリームを調べたり、標準入力をgpgプロセスにリダイレクトしたりしましたが、gpg.exeをだまして、ハードドライブ上のファイルではなくストリーミングされたテキスト/データを受け入れる方法を見つけられませんでした。

最初はgpgでできるかと思っていましたが、Zipでもできるのですが、それも可能かと思います。phpに関連しているように見えるpopenへの参照がいくつか見つかりましたが、c#には何もありません。

基本的に、ハードドライブ上の実際のファイルではなく、アプリにストリーミングされるメモリ内のtext.txtを使用して、以下をプログラムで実行することを検討しています。

C:\ Program Files \ GNU \ GnuPG>タイプC:\ test.txt | zip> plubber.zip C:\ Program Files \ GNU \ GnuPG> type C:\ test.txt | gpg -er "mycomp_operations"> Test.pgp

あなたが与えることができるかもしれないどんな助けにも感謝します:)

トニー!

4

5 に答える 5

1

Benton Stark は GnuPG 用の優れたラッパーを作成しました。このラッパーは (とりわけ) ストリームからデータを取得し、それを GPG 実行可能ファイルにパイプし、出力をストリームに書き戻す方法をすべて C# で示しています。

Benton は別の質問に彼の Web サイトへのリンクで回答しています。ベントンは次のように書いています。

C# (および VB.NET) 用の私のオープン ソースおよび無料の GnuPG ラッパーを使用してみてください。すべてのコードは、MIT の非 GPL 制限によってライセンスされています。Sourceforge.net でソース コード付きのリリースを見つけることができます。

http://sourceforge.net/projects/starksoftopenpg/

于 2012-08-02T09:39:00.917 に答える
1

次の場所で BouncyCastle C# の実装を確認してください。

http://www.bouncycastle.org/csharp/

これにより、外部ファイルなしで GPG インプロセス暗号化と復号化が可能になります。現在、BizTalk パイプライン コンポーネントに対して同じことを行うために使用しています。

于 2009-05-20T22:45:39.377 に答える
1

DotNetZip を使用してメモリ内に zip ファイルを作成できますが、それが gpg とどのように連携するかはわかりません。DotNetZip は AES 暗号化を行うことができますが、それは明らかに PGP や GPG とは異なるモデルです。

簡単なグーグル検索で、GPGで
このヒントが見つかりました。

彼らは gpg.exe を別のプロセスで実行し、そこに座って入力を待っているようです。

于 2009-02-24T05:21:15.633 に答える
0

さて、名前付きパイプはあなたが議論していることのほとんどを行いますが、正直に言うと、それだけの価値はありません...ほとんどの場合、一時ファイルは合理的なアプローチです.

于 2009-02-23T23:15:39.413 に答える
0

SecureBlackboxコンポーネントを使用すると、ZIP または PGP 操作のために外部プログラムを呼び出すことを回避できます。コンポーネントはストリームで動作し、一時ファイルは必要ありません。

于 2010-06-27T19:49:48.290 に答える