シングルサインオンソリューションのサービスプロバイダ側を実装しています。 PHPとOneloginが提供するsamlphpライブラリを使用しています。すべてがかなりうまくいっています。ユーザーは私たちのサービスへのアクセスを試みることができ、IDPログインにリダイレクトされます。彼らがそこにログインすると、私たちのサイトにリダイレクトされます。シングルサインオンSAMLサービスの復号化に失敗する
ここで問題が発生します。私たちのサイトに戻ると、エラーが発生します。
<Entry reference="REF_56dea40aa6419" TimeStamp="2016/03/08 12:06:02" Category="Exception" Type="Error"><![CDATA[
Description Failure decrypting Data
File Library/SSO/OneLogin/extlib/xmlseclibs/xmlseclibs.php
Line 357
Class Exception
Stack
UI Business console
User -
Code 0
When 2016/03/08 12:06:02
URL called https://stage.icky-yuk.co.za/?acs
Referred by https://signon.blarg.co.za/adfs/ls/?SAMLRequest=hVNdrxIxEH038T%2BQfWc%2FgYsNYBD8IEEggD74YsZ2gCbddu10vVx%2Fvd2l5KJR7MsmM3NOzzmdHRGUqmLT2p30Fr%2FXSO7li44%2F51JpYm13HNVWMwMkiWkokZjjbDf9uGR5nLLKGme4UdGfuPswIELrpNEBt5iPo%2FXq7XL9frH6iv2ByDjvwzDvYZr3Hl7lw%2F6gKHp9gCLvpUWRP4iC5wH7GS15pnHkiX0pEBLVuNDkQDvfSbNBNy266XCfpSwdsDT7EtBz71lqcC3DybmKWJKQPGqjY6NEWbsaVMxN%2FBMSEAdKFCUBugne30gtpD7ed%2FztMkTsw36%2F6W7Wu31gmV6jmBlNdYl2h%2FaH5Phpu7wR5OCIsbHyKDU9kcOSgqbXwCmaXKhGTfCstW4n%2F4eW6ECAg7g6VaPkFntDV7GV97KYb4yS%2FOnSaM47Y0tw%2F%2FacxVlbkaJ7aEcZliDVVAiLRNEz0VQp8zizCA7HkbM1Rp3kdwFhM1G0e%2Bpjcnh2nZkpK7CSmnfDM3B3TeE5idv5mfI7t8XD5O5acsabOV%2Fe%2BM%2BjsaJ5ZOT%2B8r0FTZWxLkT1V%2FKgO7kj3M9c%2B7f%2F3eQX&RelayState=https%3A%2F%2Fstage.icky-yuk.co.za%2F
]]></Entry>
SAMLツールキットで使用しているメタデータは次のとおりです。それは配列の形ですが、読みやすくするためにjsonでエンコードして吐き出しました。
{
"sp": {
"entityId": "https:\/\/stage.icky-yuk.co.za\/metadata.php",
"assertionConsumerService": {
"url": "https:\/\/stage.icky-yuk.co.za\/?acs"
},
"singleLogoutService": {
"url": "https:\/\/stage.icky-yuk.co.za\/?slo"
},
"NameIDFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
},
"idp": {
"entityId": "http:\/\/signon.blarg.co.za\/adfs\/services\/trust",
"singleSignOnService": {
"url": "https:\/\/signon.blarg.co.za\/adfs\/ls\/",
"binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
},
"singleLogoutService": {
"url": "https:\/\/signon.blarg.co.za\/adfs\/ls\/",
"binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
},
"x509cert": "MIIC6DCCAdCgAwIBAgIQWs7JU0DcbYBHCIni\/zAt\/jANBgkqhkiG9w0BAQsFADAwMS4wLAYDVQQDEyVBREZTIFNpZ25pbmcgLSBzaWdub24ub2xkbXV0dWFsLmNvLnphMB4XDTE1MDkyMzEzMTIzNloXDTE2MDkyMjEzMTIzNlowMDEuMCwGA1UEAxMlQURGUyBTaWduaW5nIC0gc2lnbm9uLm9sZG11dHVhbC5jby56YTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALlEeD4FX2CxAjacT+EJKbOFcAy604yvSPjy2NjKhjqGBeiJ4NLP4YKU28cEVa11IjqN18GE7bsk8wmA6yXEcAXgJs869fj1ZIXXil06DMSB4eUD0CaERpUSt7o6JR15kdmOEHq9tQp\/rAYoux3rSKBjmdZQlYeUTe13jfabrov3ftvWX6lTOUpZuJ2t61yCyxNNMN9pp0RlfYP8M03kq2boAoUxbYSxf\/Kpli0HrkRxtBaBiwy9TyVNjyY39ItHgAr\/gUA4vnAZj0kmSZwAc7gS6IXVbqo0A50yARzz\/6yrvMhkiFaJxFhwqck2hvoBWKwVBSSjozmDYw++gNUstj0CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEArSA6CrhdDvJXX120n0RJesumZAGHWBdb9NpE8p6hBq5gE0BcJm8lp\/PvgAyY+ZkZVpQEXv05q4po4FkkV2NcsyLHWzZ3S\/7OrleblqUIGm83a9o9mko6RuPrxdVpiwnatDAdV8gzebcr2OvedXGvkNJryblxkW7Gepoh8iPo9pFQ78NMoTGia+eLb+PtkuSV5yqtSSi9ggk8mdO+L9rZxrc9Uvkod+FLbtFg0DClsN5b3qvzd00UDmmbQfvSVGB40UGC5KqmJGSXrXSk6jUokm+h2VOUNSDyArMuiRtyFNrfY8GrWCc5Kz\/3ACuzEEhhTwD+67+qJH5jDD7KTDPQ\/w=="
}
}
私はx509認証を二重チェックしました。これは良いことです。 SAMLやシングルサインオンのエキスパートではないと私は認めています。私は明らかにここで何かを見過ごしている。証明書を超えて暗号化に他のコンポーネントがありますか?私はもうどこを見るべきか分からない。
base64でSAML応答をデコードしようとしましたが、失敗しました。私が慣れていないトークンレベルの暗号化スキームがあるかもしれません。しかし、とにかく、SAMLの暗号化/復号化は通常、別の証明書と秘密鍵で行われます。メタデータに提供された証明書ではありません。これは署名検証にのみ使用されます。私の限られた経験によれば、通常はIdPに証明書をアップロードし、一致する秘密鍵でサービスプロバイダを構成します。 – Natan
助けを借りてくれてありがとう。それは、キーファイルが間違っているということになりました。それがどのように起こったのか分かりませんが、私たちが物をテストするために物を入れ替える方法を教えてくれたので、間違ったキーファイルが証明書に合っていることに驚くことはありません。 –