問題タブ [mmc]
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.
windows - Windows Server 2008 R2 リモート mmc を制限する
管理作業を最小限に抑えて、単一の Windows Server 2008 R2 の管理コンソールへのリモート アクセスを無効にする方法を探しています。
サーバーはドメイン内にあり、ドメイン内には他のコンピューターとユーザーが多数存在するため、ドメイン レベルで一部の設定を変更するのではなく、ローカル オプションを探します。
サーバー A でのリモート サーバー管理の使用を無効にすることができますが、サーバー B からはサーバー管理にアクセスできません。ただし、サーバー B で mmc を開いて、「サービス」または「コンピューター管理」などを追加するとします。スナップインで、この方法でサーバー A にリモート アクセスできます
ユーザーが mmc や特定のスナップインの使用を制限したり、できれば Windows ファイアウォールを使用したり、この種の通信をブロックしたりしない方法を見つけようとするのを避ける必要があります。mmc の種類のリモート アクセスを単純に無効にするレジストリ キーまたはローカル ポリシー設定が存在する可能性があると、私はどういうわけか心の奥底で信じています。
明らかに、それ以上のサードパーティ製ツールを避ける必要があります...
これを達成する方法を知っている人はいますか?または、少なくともいくつかのヒントをいただければ幸いです。
ありがとうございました
c# - 証明書の秘密鍵を読み込もうとすると「指定されたプロバイダーの種類が無効です」CryptographicException
サードパーティのサービス プロバイダから共有された証明書の秘密キーを読み取ろうとしています。これを使用して XML を暗号化してからネットワーク経由で送信できます。私は C# でプログラムでこれを行っていますが、これはアクセス許可または構成ミスの問題だと思うので、最も関連性が高いと思われる事実に焦点を当てます。
- この問題はコードに関連しているとは思いません。私のコードは他のコンピューターで動作し、この問題は Microsoft のサンプル コードに影響します。
- 証明書は PFX ファイルとして提供されており、テスト目的のためだけのものであるため、ダミーの証明機関も含まれています。
- MMC.exe を使用して、証明書をローカル マシンの個人用ストアにインポートしてから、関連するすべてのアカウントに秘密キーのアクセス許可を付与し、証明機関を信頼されたルート証明機関にドラッグ アンド ドロップします。
- C# を使用して、(拇印で識別される) 証明書を読み込み、
X509Certificate2.HasPrivateKey
. ただし、キーを読み取ろうとするとエラーが発生します。.NET ではCryptographicException
、プロパティにアクセスしようとすると、「無効なプロバイダ タイプが指定されました」というメッセージがスローされますX509Certificate2.PrivateKey
。Win32 では、メソッドを呼び出すとCryptAcquireCertificatePrivateKey
、同等の HRESULT が返されますNTE_BAD_PROV_TYPE
。 - これは、Microsoft 独自の 2 つのコード サンプルを使用して証明書の秘密キーを読み取るときに発生する例外と同じです。
- ローカル マシンではなく、現在のユーザーの同等のストアに同じ証明書をインストールすると、秘密鍵を正常に読み込むことができます。
- 私は Windows 8.1 をローカル管理者権限で使用しており、通常モードと昇格モードの両方でコードを実行しようとしました。Windows 7 と Windows 8 の同僚は、同じ証明書のローカル マシン ストアからキーを読み込むことができました。
- 同じストアの場所にある自己署名 IIS テスト証明書の秘密キーを正常に読み取ることができます。
- 既に .NET 4.5 をターゲットにしています (このエラーは、フレームワークの一部の古いバージョンで報告されています)。
- これは証明書テンプレートの問題ではないと思います。ローカル マシンと現在のユーザー ストアの両方に等しく影響すると予想されるからです。
同僚とは異なり、IIS マネージャーを使用したり、同じ発行者からの古い証明書を含めたりするなど、さまざまな方法で証明書のアンインストールと再インストールを何度も試みました。MMC に古い証明書または重複した証明書の痕跡が見当たりません。しかし、同じサイズの秘密鍵ファイルが多数あります。最終書き込み時間に基づいて、さまざまなインストール試行の後に取り残されているに違いありません。これらは、それぞれローカル マシンと現在のユーザー ストアの次の場所にあります。
c:\ProgramData\Microsoft\Crypto\RSA\MachineKeys
c:\Users\\AppData\Roaming\Microsoft\Crypto\RSA\S-1-5-21-[残りのユーザー ID]
それで、誰でもアドバイスしてもらえますか:
- MMC を使用して証明書をアンインストールし、孤立した秘密鍵のように見えるすべてのファイルを削除してから、証明書を再インストールして再試行することをお勧めします。
- 手動で削除する必要がある他のファイルはありますか?
- 他に試してみるべきことはありますか?
更新 - 秘密鍵を読み取る試みを示すコード サンプルを追加しました。
ssl - クライアント証明書を使用して通話を行う前に、Windows に (.cer ではなく) .pfx 証明書をインストールする必要があるのはなぜですか?
クライアント証明書を使用してサーバーへの HTTP 呼び出しを行う小さなコンソール アプリケーションを作成しました。私が書いたコードは、特定の場所から .cer ファイルを読み取り、要求を行います。
ただし、証明書マネージャー内の現在のユーザーの個人用フォルダーに証明書がインストールされていない限り、このコードは機能しません。より具体的には、 .cerではなく.pfx証明書がインストールされている場合にのみ機能します。
私の理解では、クライアント証明書は認証のみに使用され、暗号化には使用されませんよね? そう、
証明書をインストールする必要があるのはなぜですか? 私のプログラムがその場所から .cer ファイルを取得して、要求と共に送信できないのはなぜですか? と、
繰り返しますが、より具体的には、なぜ.pfx証明書をインストールする必要があるのでしょうか? .cerが機能しないのはなぜですか?
windows - Msc バイナリ ファイル形式
多数のマシンが存在する可能性のある多くの環境を管理しています。環境の MSC ファイルを作成して開くプッシュ ボタンを作成したいと考えています。つまり、サービス用のスナップインを追加し、コンピューター管理を行います。 、環境内の各サーバーに対して。
xml の作成はまったく問題ありませんが、サービス スナップインの場合、サーバーの名前はマジック テキストでエンコードされたバイナリ BLOB 内のどこかに隠されています。サーバー名がわかっている場合、バイナリデータの作成方法を知っている人はいますか?
sql - MMC はスナップイン SQL Server 構成マネージャーを作成できませんでした
SQL Server 2008 で SQL Server 構成マネージャーに接続しようとすると、MMC でスナップインを作成できませんでしたというエラーが表示されます。
昨夜まで完璧に機能していました。何が原因なのか、どうすれば解決できるのでしょうか。しかし、バックグラウンドでSQLサーバーは完璧に機能しています。
c# - デバッガーがプロセスにアタッチされていません
デバッグしようとしている MMC スナップインがあります。現在、スナップインのコンストラクターに配置されている次のコードは、デバッガーをそれに接続するという点で機能します。
しかし、常に Visual Studio にデバッガーをアタッチしなければならないのは本当に面倒です。このプロセスを自動化したい。理想的には、F5 キーを押すだけで、デバッガーが自動的にアタッチされます。私は次のことを試しました:
- プロジェクトのプロパティ -> 外部プログラムの開始 -> 「C:\Windows\System32\mmc.exe」と入力
- プロジェクト プロパティ -> コマンド ライン引数 -> .msc ファイルへのパスを指定します (スナップイン レイアウトを保存するので、毎回簡単に読み込むことができるため、常にファイル -> 追加/削除する必要はありません)スナップイン)。
これはうまくいきませんでした。デバッガーは自動的にアタッチされません。このプロセスを自動化するにはどうすればよいですか、またはデバッガーが自動的にアタッチするのを妨げているのは何ですか?
c++ - MMC SnapIn への MFC ダイアログの埋め込み
MMC スナップインから生成される MFC でいくつかのダイアログを作成しました。レビューの結果、ダイアログをスナップイン (カスタム ビューとして結果ウィンドウ内) に埋め込む方が良い設計であると言われました。
問題は、これを行う方法がわからないことです。ユーザーがMMCと対話するときにMMCが生成するCOMイベントのシンクとして機能するCOMインターフェイスを作成する必要があると推測しています。これらのイベントを、ダイアログが期待する Windows メッセージに変換します。
これが正しいかどうかはわかりません。誰かが私を正しい方向に向けることができますか?