Commerce Server 10.0でMD5ハッシュ検証アルゴリズムを使用できない


解説

Commerce Server 10.0を使用していて、Commerce Server 2002で作成された古いユーザー プロファイルを使用してログインしようとすると、ユーザー パスワードが正しくないことを示すエラーが表示されます。

原因

Commerce Server 2002は、MD5ハッシュ アルゴリズムを使用して、ユーザー プロファイル パスワードをハッシュします。パスワードは、MD5を使用して検証する必要があります。Commerce Server 2007以降では、デフォルトのユーザー パスワード ハッシュ アルゴリズムとしてSHA256を使用しています。下位互換性のために、ユーザーはレジストリで複数のアルゴリズムを指定できます。コードは、リストのアルゴリズムを使用してパスワードを確認しようとします。

Commerce Server 10.0では、レジストリ ルートがHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\CommerceServerおよびHKEY_LOCAL_MACHINE\SOFTWARE\CommerceServerパスに移動されました。しかし、システムは依然として、Microsoft配下のCommerce Server 2009 / R2パスからHashVerificationAlgorithmList値が得られることを想定しています。

解決策

この問題は、Commerce Server 10.1で修正されています。

Commerce Server 10.0での回避策として、以下のレジストリ キーを手動で作成して、Commerce Serverがハッシュ アルゴリズムを検出して適用できるようにすることができます。

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\CommerceServer\9.0\Profiles]
"HashingAlgorithm"=dword:0000800c
"UnsafeAuthenticatedConnectionSharing"=dword:00000000
"HashVerificationAlgorithmList"="SHA256,MD5"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CommerceServer\9.0\Profiles]
"HashingAlgorithm"=dword:0000800c
"UnsafeAuthenticatedConnectionSharing"=dword:00000000
"HashVerificationAlgorithmList"="SHA256,MD5"