final byte[] paramY = key.getY().toByteArray();
dsa = signatureFactory.newDSAKeyValue(paramP,paramQ,paramG,paramY,null,null,null);
keyValue = signatureFactory.newKeyValue(Collections.singletonList(dsa));
} else if (pubKey instanceof java.security.interfaces.RSAPublicKey) {
RSAKeyValue rsa = null;
final RSAPublicKey key = (RSAPublicKey)pubKey;
rsa = signatureFactory.newRSAKeyValue(key.getModulus().toByteArray(),key.getPublicExponent().toByteArray());
keyValue = signatureFactory.newKeyValue(Collections.singletonList(rsa));
}else{
throw new WSTrustException("Unsupported PublicKey");