【IDM】Active Directory から OpenLDAP への パスワードの同期 その1 ~ パスワードを SHA1 で暗号化

当初の予定を変更し、パスワードの暗号化について、ちょっとだけ触れておきたいと思います 以下では、Active Directory に格納された DES / MD5 形式のパスワードをそのままとりだしました。取り出したまま OpenLDAPに格納すれば、生パスワードを経由することなくパスワードの同期が行えます(同期の手法については、また後日)。 【IDM】パスワード同期機能の有効活用 その3 ~ unixUserPassword 属性から暗号化されたパスワードを取得する 同僚の田辺氏が、上記のスクリプトを PowerShell に置き換えてくれましたので、よろしければそちらも参照してください。 『【IDM】パスワード同期機能の有効活用 その3 ~ unixUserPassword 属性から暗号化されたパスワードを取得する』PowerShell 編 さて、ここで当然の要求が出てきます。 DES や MD5 じゃなくて、SHA1 で 暗号化したいんだけど!!?? 当然ですね。 暗号化と文字コード変換はなんとかなるとしても、DES / MD5 を複合化することはできませんので、事前に「生パスワード」が取得できるという前提で書きます。  で、その暗号化と文字コード変換ですが、VBSで何とかしようとしてみたのですが…うまい方法が無く….田辺さんに懐柔されたようで悔しいのですが、PowerShell を使用することにします。 生パスワードを 「annou$01 」 とします。 PS C:\> $strPassword = “annou$01″PS C:\> $objUTF8Enc = new-object System.Text.UTF8EncodingPS C:\> $bytPassword = $objUTF8Enc.GetBytes($strPassword)PS C:\>…

7