public static X509Certificate getCertificate(KeyTypes use, SSODescriptorType ssoDescriptorType) { if (ssoDescriptorType != null) { for (KeyDescriptorType keyDescriptorType : ssoDescriptorType.getKeyDescriptor()) { KeyTypes keyUse = keyDescriptorType.getUse(); if (keyUse == null || (use != null && keyUse.value().equals(use.value()))) { try { return getCertificate(keyDescriptorType); } catch (Exception e) { throw new RuntimeException("Could not parse KeyDescriptor X509 certificate from metadata [" + ssoDescriptorType.getID() + "]."); } } } } return null; } }
public static KeyTypes fromValue(String v) { for (KeyTypes c : KeyTypes.values()) { if (c.value.equals(v)) { return c; } } throw new IllegalArgumentException(v); } }
public static KeyDescriptorType createKeyDescriptor(Element keyDescriptorElement) { if (keyDescriptorElement == null) throw logger.nullArgumentError("keyDescriptorElement"); KeyDescriptorType keyDescriptor = new KeyDescriptorType(); String use = keyDescriptorElement.getAttribute("use"); if (use != null && !use.isEmpty()) { keyDescriptor.setUse(KeyTypes.fromValue(use)); } Element keyInfoElement = (Element)keyDescriptorElement.getElementsByTagNameNS(JBossSAMLURIConstants.XMLDSIG_NSURI.get(), JBossSAMLConstants.KEY_INFO.get()).item(0); keyDescriptor.setKeyInfo(keyInfoElement); NodeList nl = keyDescriptorElement.getElementsByTagNameNS(JBossSAMLURIConstants.METADATA_NSURI.get(), "EncryptionMethod"); for (int i = 0; i < nl.getLength(); i++) { String algo = ((Element)nl.item(i)).getAttribute("Algorithm"); keyDescriptor.addEncryptionMethod(new EncryptionMethodType(algo)); } return keyDescriptor; }
if (keyDescriptor.getUse().equals(KeyTypes.SIGNING))
private KeyDescriptorType parseKeyDescriptor(XMLEventReader xmlEventReader) throws ParsingException { StartElement startElement = StaxParserUtil.getNextStartElement(xmlEventReader); StaxParserUtil.validate(startElement, JBossSAMLConstants.KEY_DESCRIPTOR.get()); KeyDescriptorType keyDescriptor = new KeyDescriptorType(); String use = StaxParserUtil.getAttributeValue(startElement, "use"); if (use != null && !use.isEmpty()) { keyDescriptor.setUse(KeyTypes.fromValue(use)); } while (xmlEventReader.hasNext()) { XMLEvent xmlEvent = StaxParserUtil.peek(xmlEventReader); if (xmlEvent instanceof EndElement) { EndElement end = StaxParserUtil.getNextEndElement(xmlEventReader); StaxParserUtil.validate(end, JBossSAMLConstants.KEY_DESCRIPTOR.get()); break; } startElement = (StartElement) xmlEvent; String localPart = startElement.getName().getLocalPart(); if (JBossSAMLConstants.KEY_INFO.get().equals(localPart)) { Element key = StaxParserUtil.getDOMElement(xmlEventReader); keyDescriptor.setKeyInfo(key); } else if (JBossSAMLConstants.ENCRYPTION_METHOD.get().equals(localPart)) { keyDescriptor.addEncryptionMethod(parseEncryptionMethod(xmlEventReader)); } else throw logger.parserUnknownTag(localPart, startElement.getLocation()); } return keyDescriptor; }
private KeyDescriptorType parseKeyDescriptor(XMLEventReader xmlEventReader) throws ParsingException { StartElement startElement = StaxParserUtil.getNextStartElement(xmlEventReader); StaxParserUtil.validate(startElement, JBossSAMLConstants.KEY_DESCRIPTOR.get()); KeyDescriptorType keyDescriptor = new KeyDescriptorType(); String use = StaxParserUtil.getAttributeValue(startElement, "use"); if (use != null && !use.isEmpty()) { keyDescriptor.setUse(KeyTypes.fromValue(use)); } while (xmlEventReader.hasNext()) { XMLEvent xmlEvent = StaxParserUtil.peek(xmlEventReader); if (xmlEvent instanceof EndElement) { EndElement end = StaxParserUtil.getNextEndElement(xmlEventReader); StaxParserUtil.validate(end, JBossSAMLConstants.KEY_DESCRIPTOR.get()); break; } startElement = (StartElement) xmlEvent; String localPart = startElement.getName().getLocalPart(); if (JBossSAMLConstants.KEY_INFO.get().equals(localPart)) { Element key = StaxParserUtil.getDOMElement(xmlEventReader); keyDescriptor.setKeyInfo(key); } else if (JBossSAMLConstants.ENCRYPTION_METHOD.get().equals(localPart)) { keyDescriptor.addEncryptionMethod(parseEncryptionMethod(xmlEventReader)); } else throw logger.parserUnknownTag(localPart, startElement.getLocation()); } return keyDescriptor; }
public static X509Certificate getCertificate(KeyTypes use, SSODescriptorType ssoDescriptorType) { if (ssoDescriptorType != null) { for (KeyDescriptorType keyDescriptorType : ssoDescriptorType.getKeyDescriptor()) { KeyTypes keyUse = keyDescriptorType.getUse(); if (keyUse == null || (use != null && keyUse.value().equals(use.value()))) { try { return getCertificate(keyDescriptorType); } catch (Exception e) { throw new RuntimeException("Could not parse KeyDescriptor X509 certificate from metadata [" + ssoDescriptorType.getID() + "]."); } } } } return null; } }
public static KeyTypes fromValue(String v) { for (KeyTypes c : KeyTypes.values()) { if (c.value.equals(v)) { return c; } } throw new IllegalArgumentException(v); } }
String use = StaxParserUtil.getAttributeValue(startElement, "use"); if (use != null) keyDescriptor.setUse(KeyTypes.fromValue(use));
public void writeKeyDescriptor(KeyDescriptorType keyDescriptor) throws ProcessingException { StaxUtil .writeStartElement(writer, METADATA_PREFIX, JBossSAMLConstants.KEY_DESCRIPTOR.get(), METADATA_NSURI.get()); KeyTypes keyTypes = keyDescriptor.getUse(); if (keyTypes != null) StaxUtil.writeAttribute(writer, new QName(JBossSAMLConstants.USE.get()), keyTypes.value()); Element keyInfo = keyDescriptor.getKeyInfo(); StaxUtil.writeDOMElement(writer, keyInfo); StaxUtil.writeEndElement(writer); StaxUtil.flush(writer); }
public static KeyTypes fromValue(String v) { for (KeyTypes c : KeyTypes.values()) { if (c.value.equals(v)) { return c; } } throw new IllegalArgumentException(v); } }
String use = StaxParserUtil.getAttributeValue(startElement, "use"); if (use != null) keyDescriptor.setUse(KeyTypes.fromValue(use));
public void writeKeyDescriptor(KeyDescriptorType keyDescriptor) throws ProcessingException { StaxUtil .writeStartElement(writer, METADATA_PREFIX, JBossSAMLConstants.KEY_DESCRIPTOR.get(), METADATA_NSURI.get()); KeyTypes keyTypes = keyDescriptor.getUse(); if (keyTypes != null) StaxUtil.writeAttribute(writer, new QName(JBossSAMLConstants.USE.get()), keyTypes.value()); Element keyInfo = keyDescriptor.getKeyInfo(); StaxUtil.writeDOMElement(writer, keyInfo); StaxUtil.writeEndElement(writer); StaxUtil.flush(writer); }
public static KeyTypes fromValue(String v) { for (KeyTypes c : KeyTypes.values()) { if (c.value.equals(v)) { return c; } } throw new IllegalArgumentException(v); } }
if (use != null && !use.isEmpty()) keyDescriptor.setUse(KeyTypes.fromValue(use));
public void writeKeyDescriptor(KeyDescriptorType keyDescriptor) throws ProcessingException { StaxUtil.writeStartElement(writer, METADATA_PREFIX, JBossSAMLConstants.KEY_DESCRIPTOR.get(), METADATA_NSURI.get()); KeyTypes keyTypes = keyDescriptor.getUse(); if (keyTypes != null) StaxUtil.writeAttribute(writer, new QName(JBossSAMLConstants.USE.get()), keyTypes.value()); Element keyInfo = keyDescriptor.getKeyInfo(); StaxUtil.writeDOMElement(writer, keyInfo); StaxUtil.writeEndElement(writer); StaxUtil.flush(writer); }
if (use != null && !use.isEmpty()) keyDescriptor.setUse(KeyTypes.fromValue(use));
public void writeKeyDescriptor(KeyDescriptorType keyDescriptor) throws ProcessingException { StaxUtil.writeStartElement(writer, METADATA_PREFIX, JBossSAMLConstants.KEY_DESCRIPTOR.get(), METADATA_NSURI.get()); KeyTypes keyTypes = keyDescriptor.getUse(); if (keyTypes != null) StaxUtil.writeAttribute(writer, new QName(JBossSAMLConstants.USE.get()), keyTypes.value()); Element keyInfo = keyDescriptor.getKeyInfo(); StaxUtil.writeDOMElement(writer, keyInfo); StaxUtil.writeEndElement(writer); StaxUtil.flush(writer); }
String use = StaxParserUtil.getAttributeValue(startElement, "use"); if (use != null && !use.isEmpty()) { keyDescriptor.setUse(KeyTypes.fromValue(use));
public void writeKeyDescriptor(KeyDescriptorType keyDescriptor) throws ProcessingException { StaxUtil.writeStartElement(writer, METADATA_PREFIX, JBossSAMLConstants.KEY_DESCRIPTOR.get(), METADATA_NSURI.get()); KeyTypes keyTypes = keyDescriptor.getUse(); if (keyTypes != null) StaxUtil.writeAttribute(writer, new QName(JBossSAMLConstants.USE.get()), keyTypes.value()); Element keyInfo = keyDescriptor.getKeyInfo(); StaxUtil.writeDOMElement(writer, keyInfo); StaxUtil.writeEndElement(writer); StaxUtil.flush(writer); }