Hi Jose, <div><br></div><div><ol><li>Writing: you can do it "manually". See <a href="http://stackoverflow.com/questions/6681083/consume-samlresponse-token/9080912#9080912">http://stackoverflow.com/questions/6681083/consume-samlresponse-token/9080912#9080912</a></li>
<li>Signature:</li><ul><li> Sign: </li></ul></ol><div><div>public static String sign(String value, PrivateKey privateKey) throws NoSuchAlgorithmException, InvalidKeyException, SignatureException {</div><div><br></div><div>
<span class="Apple-tab-span" style="white-space:pre">                </span>// Create the signature</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>Signature signature = Signature.getInstance("SHA1withRSA");</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>signature.initSign(privateKey);</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>signature.update(value.getBytes());</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>byte[] signatureBytes = signature.sign();</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span></div><div><span class="Apple-tab-span" style="white-space:pre">                </span>return (new BASE64Encoder())</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>.encodeBuffer(signatureBytes);</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div></div><div><br></div><div><ol><ul><li>Validate: </li></ul></ol><div> // Retrieve the public key</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>FileInputStream inputStream = new FileInputStream("FederationPublicKey");</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>CertificateFactory cf = CertificateFactory.getInstance("X.509");</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>Certificate certificate = cf.generateCertificate(inputStream);</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>PublicKey publicKey = certificate.getPublicKey();</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>// Create the signature</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>Signature signature = Signature.getInstance("SHA1withRSA");</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>signature.initVerify(publicKey);</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>signature.update("SAMLRequest=...&SigAlg=...3rsa-sha1".getBytes());<span class="Apple-tab-span" style="white-space:pre">        </span></div><div>
<span class="Apple-tab-span" style="white-space:pre">                        </span>if (signature.verify((new BASE64Decoder()).decodeBuffer(signatureBase64encodedString.trim()))) {</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>System.out.println("Signature OK!!!");</div>
<div><span class="Apple-tab-span" style="white-space:pre">                        </span>} else {</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>System.out.println("Bad Signature!!!");</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>}</div>
</div><div><br><br>Hope it helps,</div><div><br></div><div>Luis<br><br><div class="gmail_quote">El 31 de enero de 2012 21:07, José Luis Hernández Ramos <span dir="ltr"><<a href="mailto:joseluishr1@gmail.com">joseluishr1@gmail.com</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Hi all and thanks in advance,</div><div> </div><div>I have been looking for about the possibility of write and read an Assertion (in Java) but I have found only an example from shibboleth pages: <a href="https://wiki.shibboleth.net/confluence/display/OpenSAML/OSTwoUsrManJavaCreateFromXML" target="_blank">https://wiki.shibboleth.net/confluence/display/OpenSAML/OSTwoUsrManJavaCreateFromXML</a></div>
<div>and using the MetadataTest class. Is there any way in order to validate the signature in the assertion in a correct way after writing and reading the Assertion?</div><div> </div><div>Thanks again.</div><div> </div><div>
Best regards,</div><div>Jose.</div>
<br>--<br>
To unsubscribe from this list send an email to <a href="mailto:dev-unsubscribe@shibboleth.net">dev-unsubscribe@shibboleth.net</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br>"Los caminos del usuario son inescrutables…"<br>
<br>-- Rick Cook<br>
</div></div>