2

私は、ユーザーのスマート カードから公開鍵 DER でエンコードされた証明書の抽出を自動化し、それを ssh-rsa 公開鍵形式に変換するプロジェクトに取り組んでいます。ssh-rsa 公開鍵は、AD でユーザー属性として公開されます。そこから、操り人形は LDAP クエリを使用して ssh 公開鍵を取得し、問題のユーザーのauthorized_keys ファイルに配置します。

私が直面している問題は、Windows では、DER でエンコードされた .cer ファイルから ssh-rsa キーに変換する方法がないように見えることです。証明書がユーザーのホーム ディレクトリに移動された場合は、次を実行できます。

openssl x509 -inform pem -in username.cer -noout -pubkey > username.pub

次に、ssh-keygen は以下を使用して ssh-rsa 公開鍵を作成できます。

ssh-keygen -f username.pub -i -m PKCS8

Windowsがこの変換を行う方法を知っている人はいますか? さらに情報が必要な場合は、お知らせください。

4

2 に答える 2

1

まず、DER でエンコードされたファイルを PEM に変換する必要があります。これがあなたがする必要があることです:

openssl x509 -in <your DER encoded File> -inform DER -out username.crt -outform PEM
于 2012-12-10T18:19:29.473 に答える
0

方法があります、あなたは使う必要があります:

Import-Certificate

証明書をユーザー/ローカルマシンストアにインポートします。次に、次のように公開鍵を取得できます(これにより、公開鍵を持つすべての証明書の公開鍵が取得されるため、ニーズに合わせて変更してください)。

((get-childitem cert:\LocalMachine -Recurse) | Where-Object{$_.PublicKey}).GetPublicKey()

これはPowerShell3を使用しています。

于 2012-11-25T16:13:08.280 に答える