private void setPublicKey(List<KeyDescriptorType> keyDescriptors) {
for (KeyDescriptorType keyDescriptor : keyDescriptors) {
if (keyDescriptor.getUse().equals(KeyTypes.SIGNING)) {
for (Object content : keyDescriptor.getKeyInfo().getContent()) {
if (content instanceof JAXBElement<?> && ((JAXBElement<?>) content).getValue() instanceof X509DataType) {
X509DataType X509Data = (X509DataType) ((JAXBElement<?>) content).getValue();
for (Object object : X509Data.getX509IssuerSerialOrX509SKIOrX509SubjectName()) {
if (object instanceof JAXBElement<?>) {
JAXBElement<?> el = (JAXBElement<?>) object;
if (el.getName().getLocalPart().equals("X509Certificate")) {
byte[] certificate = (byte[]) el.getValue();
try {