ProcessingException { X509Certificate cert = null; Element keyInfo = keyDescriptor.getKeyInfo(); if (keyInfo != null) { NodeList x509DataNodes = keyInfo.getElementsByTagName("X509Data");
+ "Only one of isSigningKey and isEncryptionKey should be true"); KeyDescriptorType keyDescriptor = new KeyDescriptorType(); keyDescriptor.addEncryptionMethod(encryptionMethod); keyDescriptor.setUse(KeyTypes.SIGNING); if (isEncryptionKey) keyDescriptor.setUse(KeyTypes.ENCRYPTION); keyDescriptor.setKeyInfo(keyInfo);
/** * Create a key descriptor that specifies an algorithm but does not specify * whether the key is for signing or encryption * @param keyInfo * @param algorithm * @param keySize * @return */ public static KeyDescriptorType createKeyDescriptor(Element keyInfo, String algorithm, int keySize) { if (keyInfo == null) throw new IllegalArgumentException(ErrorCodes.NULL_ARGUMENT + "keyInfo"); KeyDescriptorType keyDescriptor = new KeyDescriptorType(); if (isNotNull(algorithm)) { EncryptionMethodType encryptionMethod = new EncryptionMethodType(algorithm); encryptionMethod.setEncryptionMethod(new EncryptionMethod(BigInteger.valueOf(keySize), null)); keyDescriptor.addEncryptionMethod(encryptionMethod); } keyDescriptor.setKeyInfo(keyInfo); return keyDescriptor; } }
KeyDescriptorType keyDescriptor = new KeyDescriptorType(); String use = StaxParserUtil.getAttributeValue(startElement, "use"); if (use != null) keyDescriptor.setUse(KeyTypes.fromValue(use)); keyDescriptor.setKeyInfo(key); spSSODescriptor.addKeyDescriptor(keyDescriptor);
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); }
keyDescriptor.setUse(KeyTypes.SIGNING); keyDescriptor.setKeyInfo(keyInfo);
KeyDescriptorType keyDescriptor = new KeyDescriptorType(); startElement = StaxParserUtil.getNextStartElement(xmlEventReader); keyDescriptor.setKeyInfo(key);
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; } }
KeyDescriptorType keyDescriptor = new KeyDescriptorType(); String use = StaxParserUtil.getAttributeValue(startElement, "use"); if (use != null) keyDescriptor.setUse(KeyTypes.fromValue(use)); keyDescriptor.setKeyInfo(key); spSSODescriptor.addKeyDescriptor(keyDescriptor);
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); }
/** * Create a key descriptor that specifies an algorithm but does not specify whether the key is for signing or * encryption * * @param keyInfo * @param algorithm * @param keySize * * @return */ public static KeyDescriptorType createKeyDescriptor(Element keyInfo, String algorithm, int keySize) { if (keyInfo == null) throw logger.nullArgumentError("keyInfo"); KeyDescriptorType keyDescriptor = new KeyDescriptorType(); if (StringUtil.isNotNull(algorithm)) { EncryptionMethodType encryptionMethod = new EncryptionMethodType(algorithm); encryptionMethod.setEncryptionMethod(new EncryptionMethod(BigInteger.valueOf(keySize), null)); keyDescriptor.addEncryptionMethod(encryptionMethod); } keyDescriptor.setKeyInfo(keyInfo); return keyDescriptor; } }
KeyDescriptorType keyDescriptor = new KeyDescriptorType(); startElement = StaxParserUtil.getNextStartElement(xmlEventReader); keyDescriptor.setKeyInfo(key);
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 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; }
KeyDescriptorType keyDescriptor = new KeyDescriptorType(); String use = StaxParserUtil.getAttributeValue(startElement, "use"); if (use != null && !use.isEmpty()) keyDescriptor.setUse(KeyTypes.fromValue(use)); keyDescriptor.setKeyInfo(key); idpSSODescriptor.addKeyDescriptor(keyDescriptor);
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); }
/** * Create a key descriptor that specifies an algorithm but does not specify whether the key is for signing or encryption * * @param keyInfo * @param algorithm * @param keySize * @return */ public static KeyDescriptorType createKeyDescriptor(Element keyInfo, String algorithm, int keySize) { if (keyInfo == null) throw logger.nullArgumentError("keyInfo"); KeyDescriptorType keyDescriptor = new KeyDescriptorType(); if (isNotNull(algorithm)) { EncryptionMethodType encryptionMethod = new EncryptionMethodType(algorithm); encryptionMethod.setEncryptionMethod(new EncryptionMethod(BigInteger.valueOf(keySize), null)); keyDescriptor.addEncryptionMethod(encryptionMethod); } keyDescriptor.setKeyInfo(keyInfo); return keyDescriptor; }
Element keyInfo = keyDescriptor.getKeyInfo(); if( keyInfo != null )
throw logger.shouldNotBeTheSameError("Only one of isSigningKey and isEncryptionKey should be true"); KeyDescriptorType keyDescriptor = new KeyDescriptorType(); keyDescriptor.addEncryptionMethod(encryptionMethod); keyDescriptor.setUse(KeyTypes.SIGNING); if (isEncryptionKey) keyDescriptor.setUse(KeyTypes.ENCRYPTION); keyDescriptor.setKeyInfo(keyInfo);
KeyDescriptorType keyDescriptor = new KeyDescriptorType(); String use = StaxParserUtil.getAttributeValue(startElement, "use"); if (use != null && !use.isEmpty()) keyDescriptor.setUse(KeyTypes.fromValue(use)); keyDescriptor.setKeyInfo(key); idpSSODescriptor.addKeyDescriptor(keyDescriptor);