3月10日に適用されたMS16-035と言うアップデートがありますが、これが致命的なことに.NET標準のXML署名クラスであるSignedXmlのDetachedでUriが参照できない問題があるようです。
こちらに対処方法が書いてありますが現状はレジストリを修正する必要があります。
リンク先のシナリオ1の対応が必要です。ただしこのレジストリ対応は一時的な対応でありますし「警告 このレジストリ キーを有効にすると、サービスの拒否、分散サービス拒否、情報漏えい、署名のバイパス、リモートでのコードの実行などのセキュリティの脆弱性が発生する可能性があります。」となっていますので推奨できません。
弊社のLE:XAdES:Libは基本的に独自のLeSignedXmlを利用しているので問題はありませんが、検証時にSignedXmlを利用するオプションがあり、これが正常に動作しない可能性があります。以下の対応をすることで本問題を回避可能です。
対応方法:
verify()による検証時の最初の引数のflagsにて VERIFY_FLAG::VERIFY_SIGNEDXML をオフにする。
LE:XAdES:Libでは独自のLeSignedXmlクラスで必ず検証しており、.NET標準のSingedXmlはオプションとなります。従いましてSingedXmlによる検証をオフにしても全く問題はありません。
次のバージョンアップ時に VERIFY_FLAG::VERIFY_SIGNEDXML はデフォルトでオフにします。プログラム変更が難しい場合にはMSが提供しているレジストリで対応する必要がありますのでご注意ください。
なおMicrosoftも問題の大きさは認識しているようで修正作業を急いでいるそうですが、まだ正式な対応は出ていない状況です。