PowerShellでは、_New-Object
_を使用して、単一引数の.Netコンストラクターnew X509Certificate2(byte[] byteArray)
を呼び出します。問題は、PowerShellのバイト配列でこれを行うと、
New-Object: "X509Certificate2"のオーバーロードと引数カウント: "516"が見つかりません。
驚いたことに、私はこれを試しましたが、うまくいくようです:
[byte[]] $certPublicBytes = something
$cert = [System.Security.Cryptography.X509Certificates.X509Certificate] $certPublicBytes
return $cert
どんな魔法が効くのかまだわかりませんので、説明コメントをいただければ幸いです。 :)
(注:上記のように角括弧タイプ名を使用すると、「値を変換できません "System.Byte []」を入力して「System.Security.Cryptography.X509Certificates」などのエラーが発生することもあります。 .X509Certificate」。エラー:「要求されたオブジェクトが見つかりません。」Keithが推奨する明示的なNew-Objectアプローチの方が良いようです!)