コード例 #1
0
        public static IdCard SignIn(XElement request, string endpointAdr)
        {
            var ss = WebPost(request, endpointAdr);

            var fault = ss.Element(NameSpaces.xsoap + "Body")?.Element(NameSpaces.xsoap + "Fault");

            if (fault != null)
            {
                throw new FaultException(new FaultReason(fault.Element("faultstring")?.Value), new FaultCode(fault.Element("faultcode")?.Value), null);
            }

            if (!new SealSignedXml(ss).CheckAssertionSignature())
            {
                throw new FaultException(new FaultReason("Signature error"), new FaultCode("STS"), null);
            }
            var idCardModelBuilder = new IdCardModelBuilder();

            return(idCardModelBuilder.BuildModel(ss.Descendants(NameSpaces.xsaml + "Assertion").First()));
        }
コード例 #2
0
ファイル: SOSIFactory.cs プロジェクト: openmedicus/Seal.net
        public IdCard DeserializeIdCard <T>(T assertion)
        {
            IdCardModelBuilder builder = new IdCardModelBuilder();

            return(builder.BuildModel(SerializerUtil.Serialize(assertion).Root));
        }