element = DOMUtils.getFirstElement(element);
if (element == null || !element.getLocalName().equals("Policy")) {
throw new IllegalArgumentException("Trust10 assertion doesn't contain any Policy");
}
Trust10 trust10 = new Trust10(SP11Constants.INSTANCE);
if (DOMUtils.getFirstChildWithName(element, SP11Constants.MUST_SUPPORT_CLIENT_CHALLENGE) != null) {
trust10.setMustSupportClientChallenge(true);
}
if (DOMUtils.getFirstChildWithName(element, SP11Constants.MUST_SUPPORT_SERVER_CHALLENGE) != null) {
trust10.setMustSupportServerChallenge(true);
}
if (DOMUtils.getFirstChildWithName(element, SP11Constants.REQUIRE_CLIENT_ENTROPY) != null) {
trust10.setRequireClientEntropy(true);
}
if (DOMUtils.getFirstChildWithName(element, SP11Constants.REQUIRE_SERVER_ENTROPY) != null) {
trust10.setRequireServerEntropy(true);
}
if (DOMUtils.getFirstChildWithName(element, SP11Constants.MUST_SUPPORT_ISSUED_TOKENS) != null) {
trust10.setMustSupportIssuedTokens(true);
}
return trust10;
}