0

Cisco WebEx とのカスタム SAML 統合をセットアップしようとしています。ただし、SAML 応答が WebEx に送信された後、WebEx SP は「無効なデジタル署名」について不平を言い続けます。

SAML 応答、署名証明書、および SAML トランザクションの Fiddler トレースは既に検査済みです。異常なことは何もないようです。他のいくつかのサービスでこれを実行しましたが、問題は発生していません。

WebEx がデジタル署名が無効であると考えている理由をデバッグするのに役立つ優れたツールはありますか?

4

2 に答える 2

4

デジタル署名が無効と見なされる理由はいくつかあります。

文書の変更: 署名する文書が署名後に変更されていないことを確認してください。空白文字を追加しても、署名は無効になります。

文字エンコーディング: ドキュメントに Unicode 文字が含まれている場合は、正しいエンコーディングが指定されていることを確認してください。ほとんどの SAML ドキュメントは、次のように UTF8 でエンコードされることが想定されています。<?xml version="1.0" encoding="utf-8"?>

間違った要素の署名: アサーションを含む SAML ドキュメントは、通常、ドキュメント全体ではなく、アサーション自体に署名があると予想されます。

不正な証明書: 機関に提供した証明書が、署名しているキーと一致していることを確認してください。一部の実装では、ドキュメントに証明書を含める必要がありますが、他の実装では、証明書を事前に定義する必要がある場合があります。文書内の署名がファイルにある署名と一致しない場合、署名は有効とは見なされません。SSL証明書で署名していますか? 最近更新しましたか?

最終的には、ドキュメントを自分でテストする必要があります。多くの SAML ライブラリには、署名を検証するメカニズムがあります。あなたのライブラリは有効に見えますか? xmlsec1それができない場合は、ドキュメントを証明書で手動で検証するなどの方法を使用できます。これは、図書館が暗号化に使用している可能性が高く、当局が検証に使用しているものです。

XMLSecの使用: 証明書が呼び出されcert.pem、SAML 応答 XML ドキュメントが呼び出されdoc.xmlた場合、次のように検証します。

$ xmlsec1 --verify --pubkey-cert-pem cert.pem --id-attr:ID Response doc.xml
OK
SignedInfo References (ok/all): 1/1

--id-attrドキュメントの ID 属性に一致するように値を変更する必要がある場合があります。上記のような出力を探して、ドキュメントの署名が提供された証明書で有効であることを通知します。

于 2015-01-18T23:33:56.877 に答える
1

トップレベルの Response 要素ではなく、Assertion 要素に署名していることを確認してください。

于 2015-01-18T23:43:45.573 に答える