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/