public void encrypt(Document document) throws Exception {
        KeyStore ks = getKeyStore();
        X509Certificate certificate = getCertificate(ks);
        String algorithmURI = XMLCipher.AES_256;

        Element rootElement = document.getDocumentElement();

        XMLCipher xmlCipher = XMLCipher.getInstance(algorithmURI);
        xmlCipher.init(XMLCipher.ENCRYPT_MODE, certificate.getPublicKey ());

        EncryptedData encryptedData = xmlCipher.getEncryptedData();
        KeyInfo keyInfo = new KeyInfo(document);
        encryptedData.setKeyInfo(keyInfo);
        xmlCipher.doFinal(document, rootElement, true);
}

I have do it, but get the exception

Exception was java.security.InvalidKeyException: Illegal key size or default
parameters
    at org.apache.xml.security.encryption.XMLCipher.encryptData(Unknown
Source)
    at org.apache.xml.security.encryption.XMLCipher.encryptData(Unknown
Source)
    at 
org.apache.xml.security.encryption.XMLCipher.encryptElementContent(Unknown
Source)
    at org.apache.xml.security.encryption.XMLCipher.doFinal (Unknown Source)
    at org.jtang.service.security.engine.SecurityEngine.encrypt(
SecurityEngine.java:121)
    at org.jtang.service.security.engine.SecurityEngineTest.testEncrypt(
SecurityEngineTest.java:141)

What's wrong?

On 9/21/07, Daniele Gagliardi <[EMAIL PROTECTED]> wrote:
>
> If you're using asymmetric cryptography, why do you want to use private
> key for encryption? In this way everyone who has the public key (which
> is PUBLIC) can decrypt the xml.
> For xml encryption, you can use the very good examples in apache xml
> signature package  (you can found these in
> xml-security-1_4_1/src_samples/org/apache/xml/security/samples/encryption
> directory of the apache distribution in
> http://xml.apache.org/security/dist/java-library/)
>
> huang zhimin ha scritto:
> > Can anybody give me an example to encrypt xml with private key?
> >
> > --
> > http://sourceforge.net/projects/mycodeline/
> > http://rubyforge.org/projects/ropenwiki/
>
>


-- 
http://sourceforge.net/projects/mycodeline/
http://rubyforge.org/projects/ropenwiki/

Reply via email to