2017-03-14 15 views
4

現在、私はOpenSSLを使用してPFXファイルを生成しています。これは望ましくない依存関係を引き起こしています(特にWindowsユーザーの場合)。 BouncyCastleを使用して独自の証明書を作成する方法の例がいくつか見つかりましたが、このライブラリは.NET Core互換ではありません(または互換性のあるパッケージを見つけることができませんでした)。有効な自己署名X509Certificate2をプログラムで作成し、.NETコアのファイルからロードしない方法

OpenSSL(または他の証明書を生成する外部ツール)への依存を避けるために、.NETコアだけで独自の自己署名X509証明書を作成することは可能ですか?

EDIT:このSOの質問How to create a self-signed certificate using C#?が答えを提供すると誰か(編集者)が示唆しました。残念ながら、これは.NET Coreとは関係ありません。受け入れられた答えは、This implementation uses the CX509CertificateRequestCertificate COM object (and friends - MSDN doc) from certenroll.dll to create a self signed certificate request and sign itで始まります。明らかに.NET Coreではありません...実際、.NET Core互換の答えはありません。

+0

[C#を使用して自己署名証明書を作成するにはどうすればいいですか?](http://stackoverflow.com/questions/13806299/how-to-create-a-self-signed-certificate-using-c) – cybermonkey

+0

技術はまだありません - 「このメカニズムはまだ.NET Coreでは利用できません」 - https://docs.microsoft.com/en-us/aspnet/core/security/data-protection/implementation/ key-encryption-at-rest –

答えて

-2

Microsoftの方法は、(Windows SDKの)makecertとpvk2pfxで、これは.netコード自体ではなく、これを行っています。今、私はあまりコアネットに精通していませんが、完全な吹き飛ばされた.netはネイティブサポートを持っていないので、コアバージョンに機能があると非常に驚いています。ここ

はそれを行う方法の説明です: https://msdn.microsoft.com/en-us/library/ff699202.aspx

編集:私はそれを修正してくださいしてみましょう:外部依存関係がなければ、.NET(コア)では使用できません..です本格的な.NETでの方法が あります。しかし、あなたはそれのための外部DLLが必要です。

+0

申し訳ありませんが、これもあまり役に立ちません。 OpenSSLを使用してクロスプラットフォームでもPFX証明書を生成できます。問題は、外部依存関係を避ける方法です。つまり、そのような証明書をプログラムで作成する方法です。 – Wapac

+0

編集を参照してください。 Microsoftのベストプラクティスへのリンクを提供しましたが、それは私の感覚ではなく、設計した方法ではないことを示しています。それがネイティブ関数であった場合、その答えではなく、一部のSDKツールではないと期待します。十分に具体的ではないと申し訳ありません。 – g6nuk

+0

その記事はおそらく5-7歳です(Visual Studio 2010を最新のものとして参照しています)。その年には、.NET Coreは存在しませんでした。 Linuxでpvk2pfxをどうやって実行しますか?これは正しいことではありません。 OpenSSLを使用しても、これよりずっと優れています。 – Wapac

関連する問題