問題タブ [rsa]
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.
macos - ホームディレクトリを持たないユーザーの SSH 公開鍵
Mac OS X Leopard Server を実行しており、そのユーザーのホーム ディレクトリを指定せずに新しいユーザーを作成しました。そのユーザーに公開鍵を使用して認証させることは可能ですか?
ユーザーがホームディレクトリを持っている場合、それが入ることを私は知っています~/.ssh/authorized_keys
このユーザーのホーム ディレクトリを作成したくありません。これは、物理的なアクセス権が与えられた場合にログインできるようになるためです。
更新:このユーザーにセキュア FTP 接続のみを許可する必要があります。ログイン シェルを に設定する/bin/false/と、リモート接続もできなくなります。
c# - 公開鍵は .NET アセンブリで復号化するためにどのように使用されますか?
.NET 署名済みアセンブリには公開キーが含まれていますが、公開キーは RSA での暗号化に使用されます。.NET は署名付きアセンブリの復号化に公開キーをどのように使用しますか?
署名されたアセンブリにはハッシュが含まれていますが、ハッシュは公開キーではなく秘密キーを使用して暗号化されています。では、.NET で秘密鍵が暗号化に使用され、公開鍵が復号化に使用される理由と方法について説明します。つまり、RSACryptoPad のようなすべてのソフトウェアは、復号化ではなく暗号化に公開鍵を使用します。
c# - RSACryptoServiceProvider <-> CryptImportKey の同等性
管理されていないアプリから作成されたキーがあり、このキーを管理されたアプリにインポートして、別のキーを生成するか、暗号化する場合。基本的に、マネージド コードとアンマネージド コードの間で同じキーがインポート/エクスポートされます。
したがって、同等のものは何ですか
と
RSACryptoServiceProvider を使用して管理された世界で?
RSACryptoServiceProvider クラスのどのメソッド セットが上記の Crypto API に相当しますか?
c# - C# の CryptExportKey
このCryptExportKey呼び出しに相当する C# は何ですか?
C#コードのどこに記述があるか教えていただければ幸いです。
hKey、hPublicKey、および SIMPLEBLOB (または C# で同等のもの) が使用されています。
.net - RSA暗号化を使用した暗号化データサイズ(RSACryptoServiceProvider)
作業中のプロジェクトの1つで暗号化メカニズムを使用する必要があります。私はRSA暗号化を調査していて、学ぶためにいくつかのサンプルプログラムを作成しました。
RSA暗号化のブロックサイズは16バイトであることを理解しています。そこで、以下の関数への入力として文字列「12345678」を指定しました。
今私が得る暗号化された文字列は128バイト(256の16進文字)です。この文字列は私には大きすぎます。16バイトのプレーンデータを提供すると、16バイトの暗号化データを取得できることを期待していました。私は何か間違ったことをしていますか?これは何が起こるはずですか?暗号化されたデータをどうにかして短縮できますか?
c# - Crypto API <-> .NET RSA 相互運用性
Crypto API を使用して RC4 暗号化キーを生成するアンマネージド アプリケーションがあります。このアンマネージド アプリケーションは、この RC4 キーを使用して一部のデータを暗号化します。この RC4 キーを使用して情報を復号化するクライアント側の管理されていないアプリケーションもあります。
ただし、このクライアント アプリでは、セッション キーを送信しています -> クライアント側で生成された RSA 公開キー (SIMPLEBLOB) を使用して暗号化された RC4 キー。暗号化されたセッション キーの生成は、以前はアンマネージ コードを使用して行われていましたが、部分信頼の下で Web アプリケーションからこのコードを実行する必要があるため、現在は C# に変換する必要があります。
キーは次を使用して生成されます
を使用してファイルシステムにエクスポートされます
(この記事http://www.codeproject.com/KB/security/plaintextsessionkey.aspxを使用して、プレーンテキストキーをエクスポートできたことに注意して ください)
クライアントの公開鍵は次を使用して作成されます
クライアントの公開鍵は次を使用してエクスポートされます
セッションキーは、サーバー側で作成されます
クライアントの公開鍵は次を使用してインポートされます
CryptImportKey(hProv、lpData、nSize、NULL、0、&hPublicKey
セッション キーは、クライアントの公開鍵を使用して RC4 を暗号化し、SIMPLEBLOB 形式を生成することによって生成されます。
CryptExportKey(hKey, hPublicKey, SIMPLEBLOB, 0, lpData, &nSize);
今、私の要件は、管理されたバージョンで上記の手順 (手順 1 と 2) を実行することです。これが私がやっていることです:
// コード プロジェクトの記事を使用して抽出されたプレーン テキストのキー データを読み取ります byte[] keyMaterial = File.ReadAllBytes(@"C:\keyMaterial.txt");
// クライアントの公開鍵をインポート
これにより、アンマネージド バージョンと同じサイズのデータが生成されますが、アンマネージド バージョンの手順 1 と 2 の場合のように正しい SIMPLEBLOB セッション キーが生成されません。このコードで何が間違っていますか?
c# - マネージド SIMPLEBLOB BLOB がアンマネージド SIMPLEBLOB (RSA - 暗号化) と一致しません
を使用して生成される単純なブロブ
次のコードから生成されたものと一致しません ( client.key は、http://www.codeproject.com/KB/security/plaintextsessionkey.aspxを使用して見つけた hKey のプレーン テキスト キー値であることに注意してください) 。
何故ですか?