일부 xml을 검색 한 다음 xml 서명을 확인하려고하는 코드가 있습니다. this post에 따르면 SignedXml 유형의 확인 방법은 xml 서명 확인을 수행하기 위해 완전 신뢰가 필요합니다. 내 코드는 샌드 박스에서 실행해야하므로 완전한 신뢰가 없으므로 보안 예외가 throw됩니다.샌드 박스 내에서 XML 서명을 확인할 수 있습니까?
이 경우 XML 서명을 확인하는 다른 방법이 있습니까? (타사 소프트웨어를 구입할 필요가 없음)?
일부 xml을 검색 한 다음 xml 서명을 확인하려고하는 코드가 있습니다. this post에 따르면 SignedXml 유형의 확인 방법은 xml 서명 확인을 수행하기 위해 완전 신뢰가 필요합니다. 내 코드는 샌드 박스에서 실행해야하므로 완전한 신뢰가 없으므로 보안 예외가 throw됩니다.샌드 박스 내에서 XML 서명을 확인할 수 있습니까?
이 경우 XML 서명을 확인하는 다른 방법이 있습니까? (타사 소프트웨어를 구입할 필요가 없음)?
이것은 불가능한 것 같습니다. 제 해결 방법은 서명 된 XML에 의존하지 않고 해시를 추가하는 것입니다. 이것은 훨씬 덜 안전하지만 완전한 신뢰 코드를 사용하지 않고 할 수있는 최선입니다.
XmlResolver
을 사용할 필요가없는 경우이 방법이 있다고 생각합니다.
MSDN docs ".NET Framework 버전 1.1에서는 호출자가 XmlResolver를 지정하기 위해 완전히 신뢰할 수 있어야합니다."라고 말합니다. 중간 신뢰 환경에서 .NET 4.5 및 I 을 실행할 수 있습니다.이 성공적으로 XmlResolver
으로 설정되었습니다. XML 문서에서 외부 참조를 해결할 필요가 없다는 것을 알았으므로 (here의 의미에 대한 설명) SignedXml.Resolver
을 null
으로 설정하면 좋았습니다. 내 경우에는이 문제가 해결되어 공유 호스트 환경 (GoDaddy)에서 SignedXml
의 사용이 허용되었습니다.
참고 SecureXmlResolver
을 사용하려는 경우 은이 되려면 FullTrust
이 필요합니다.