問題タブ [rsacryptoserviceprovider]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - RSACryptoServiceProvider を使用したデータの暗号化には、私には奇妙な機能と思われるものがあります
「次のステートメントを設定」を使用して、次のステートメントを繰り返し実行しました。つまり、他のコード行を実行しませんでした。
byte[] encryptedData = encrypt.Encrypt(data, false);
encryptedData のバイトを調べたところ、encryptedData のバイトが毎回変化することがわかりました。さすがにこれはまずい?公開鍵が変更されておらず、暗号化されるデータが変更されていない場合、「encryptedData」バイトも変更されるべきではありませんか?
c# - C# の RSA は、特定のキーに対して同じ暗号化文字列を生成しませんか?
あるアプリケーションで接続文字列を暗号化し、別のアプリケーションで復号化する必要があるという要件があります。これを念頭に置いて、公開鍵と秘密鍵をそれぞれアプリケーションの App.Config に保存します。
さて、RSA は、私が使用しているのと同じ鍵で同じ暗号化文字列を私に与えるべきではありませんか?
同じキーを使用して、常に異なる暗号化文字列を取得します.!! 混乱を解消するのを手伝ってください。この問題を解決する方法がわかりません。保存された暗号化された文字列を使用すると、暗号化によって異なる暗号化された文字列が返されるたびにBAD Data例外が発生します。
これが私のコードです:
前もって感謝します。
更新1: 使用しました
それでも、暗号化されたデータが毎回変化していることがわかります。 しかし、Bad Dataエラーは見られなくなりました。それでも、接続文字列のような巨大な文字列を暗号化できず、例外をスローするため、Encoding.UTF8ではなくUTF16(UnicodeEncoding)を使用できません。
更新 2:
UTF8Encoding ByteConverter = new UTF8Encoding();
使用してから実行することで、不良データの問題を解決できましたByteConverter .GetString("HUGE STRING");
c# - C# で RSA 暗号化を使用して安全な通信を実装する
公開/秘密キー暗号化を使用して、2 つのエンドポイントが相互に安全に通信できるシナリオを実装したいと考えています。シナリオは次のとおりです。
A が B にメッセージを送信するには:
A は、A の秘密鍵を使用してメッセージを暗号化します。
A は、B の公開鍵を使用してメッセージを暗号化します。
A がメッセージを送信します。
Bはメッセージを受け取ります。
B は、A の公開鍵を使用してメッセージを復号化します。
B は、B の秘密鍵を使用してメッセージを復号化します。
B はメッセージを読み上げます。
RSA暗号化を使用してC#にあるものは次のとおりです。
明らかに、次の行に何か問題があります。
メッセージ{ "Bad Length" }でSystem.Security.Cryptography.CryptographyExceptionをスローします。
ご覧のとおり、ボブのキーの公開部分だけを使用してデータを暗号化することはできません。
C#でやりたいことを適切に達成する方法について、誰かが光を当てることができますか?
.net - .NET RSACryptoServiceProvider での PyCrypto 署名メッセージと署名の検証
PyCrypto エンジンを使用して Google API で実行される Web サイトを使用する署名検証システムを作成しようとしています。署名を生成するプログラムは非常に単純です。
キー「キー」は次によって提供されます。
署名は、「A12D.......」のような 16 進文字列として返されます。
.NET プログラムは次のとおりです。
しかし、それはうまくいきません!!! どうして??
Pycrypto と .NET は同じパラメーター (モジュラス、指数、d、p、q) を受け取ります。
c# - 暗号化キーを保存する正しい方法は何ですか?
私は持っています:
そして、これらのいずれか:
それらを保存する正しい方法は何ですか?また、どのファイル拡張子を使用する必要がありますか?注:私はそれらを暗号化する方法について言及していません。それらを保存する方法。
rsa - SHA256 による署名
私はスマートカードを持っていて、これでファイルに署名する必要があります。スタックオーバーで見られるように、これは大きな問題です。
RSACryptoServiceProvider を使用できませんでした。bkz は RSA-SHA256 アルゴリズムをサポートしていません。
最初は、以下のコードのように CAPICOM.dll を使用しました。
しかし、署名値を検証するための公開鍵がありません。capicom.dll から検証鍵を取得できませんでした。
以降 、
以下のコードのように X509Certificate2 と RSACryptoServiceProvider を使用しました。
動作しますが、RSA-SHA256 アルゴリズムで署名する必要があります。このようにハッシュアルゴリズムを変更すると
私は取得しています
error : 「特定されていないエラー」。
それが私の問題です。解決策は何ですか、またはどのライブラリを使用する必要がありますか??
アドバイスをありがとう..
android - Android の暗号化サービス プロバイダ
Android 4.0.3 を実行し、さまざまなユーザーが使用するタブレット PC にさらに証明書をインストールする必要があります。すべてのユーザーは、認証のために証明書を要求する Web にアクセスする必要があります。すべてのユーザーが適切な証明書の秘密鍵にアクセスするために PIN またはパスワードを入力する必要がある方法で、CSP などの Windows のように、すべての証明書の秘密鍵を保護したいと考えています。可能である場合はどうすればよいですか。ありがとうピエルカルロ
c# - 特定のキー名の .NET 3.5 で RSACryptoServiceProvider(RSACryptoServiceProvider) コンストラクターがクラッシュする
以下のコードを見ると、 の新しいインスタンスを作成しているだけRSACryptoServiceProvider
です。キー コンテナー名は、さまざまなパラメーターに基づいて名前を作成するプロパティから初期化されます。このデモ コードにハードコードされた値を追加しました。
このコードは、Windows 2008 R2 サーバーのインストールで実行されており、キー コンテナー名に対して定数値が返される状態で数か月間動作しています。
数日前にコードが機能しなくなり、以下の例外に直面しています。何ヶ月も使用されていたキー コンテナー名を使用することはできなくなりました。サーバーが再起動され、IIS が再起動されました - 成功しませんでした。キー名を変更して初めて、再び機能し始めました。
なぜこれが起こっているのか、それを修正する方法を誰かが説明できますか? 私が見る限り、このコードは永続オブジェクトを作成しません。再起動後も失敗するのはなぜですか? MSDN (http://msdn.microsoft.com/de-de/library/ca5htw4f.aspx) から、コンストラクター「コンストラクターは、KeyContainerName フィールドを使用して指定されたキー コンテナーを作成または再利用する」ことを読みました。「再利用」とは、何かをどこかにキャッシュしていて、それをしている間にクラッシュして、キャッシュされたバージョンが破損したままになっていることを意味しますか? また、同じキー名が現在も他の多くのマシンで使用されていることに注意してください。どこにも問題はありません。
これはクラッシュしている行です:
使用される CspParameters は次のとおりです。
そして、それがキー名です:
そして最後に例外:
.net - .Net: 私の RSA キーは 2012 年 8 月以降も機能しますか?
1024 ビット未満の RSA キーはブロックされているというこの記事を読んだところです。私の .NET ソフトウェアでは、384 ビット キーを多用しています。私のプログラムは、RSACryptoServiceProvider を使用して MachineKeyStore からキーを生成/保存/読み取りできますか? または、パッチを送信する必要がありますか?
vb.net - オブジェクトはすでに RSACryptoServiceProvider に存在します。
まず、この質問を間違った場所に投稿した場合は申し訳ありません。Object already exists in RSACryptoServiceProviderのエントリを見ました。そこで提供された解決策を試しました。しかし、彼らは私の問題を解決しませんでした。また、質問を再質問するオプションが表示されませんでした。
私はほとんど同じ問題を抱えています。RSACryptoServiceProvider
同じマシン上の同じアカウントで 2 つのプロジェクトで実行されるクラスがあります。どちらのプロジェクトも同じソリューション内にあり、同じ暗号化コードを共有しています。1 つのプロジェクト (サーバー) は Windows サービスであり、もう 1 つのプロジェクト (クライアント) は Windows アプリケーションです。を使用して、RSACryptoServiceProvider
非対称暗号化を使用した名前付きパイプを介して相互に通信します。クライアントと同じアプリケーション内の別の Windows フォームでサーバーを実行することから始めました。すべてがうまくいきました。次に、サーバーを Windows サービスに移動しました。
Windows サービスは正常に起動します。RSACryptoServiceProvider
罰金のインスタンスを作成できるようです。ただし、Windows アプリケーションで実行されるクライアントが起動すると、クライアントを作成しようとするとランタイム エラーが発生します。両方のプロジェクトで実行されるコードを次に示します。
ご覧のとおり、この件に関する他の投稿で述べたように、アクセス ルールを設定するコードがあります。残念ながら、これで問題は解決しませんでした。他に変更する必要があるものはありますか?