package test.xml.signature;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.ObjectOutputStream;importjava.security.Key;importjava.security.KeyFactory;importjava.security.KeyPair;importjava.security.KeyPairGenerator;importjava.security.PrivateKey;importjava.security.PublicKey;importjava.security.spec.EncodedKeySpec;importjava.security.spec.PKCS8EncodedKeySpec;importjava.security.spec.X509EncodedKeySpec;importjava.util.Collections;importjava.util.List;importjavax.xml.crypto.dom.DOMStructure;importjavax.xml.crypto.dsig.CanonicalizationMethod;importjavax.xml.crypto.dsig.DigestMethod;importjavax.xml.crypto.dsig.Reference;importjavax.xml.crypto.dsig.SignatureMethod;importjavax.xml.crypto.dsig.SignedInfo;importjavax.xml.crypto.dsig.Transform;importjavax.xml.crypto.dsig.XMLSignature;importjavax.xml.crypto.dsig.XMLSignatureFactory;importjavax.xml.crypto.dsig.dom.DOMSignContext;importjavax.xml.crypto.dsig.dom.DOMValidateContext;importjavax.xml.crypto.dsig.keyinfo.KeyInfo;importjavax.xml.crypto.dsig.keyinfo.KeyInfoFactory;importjavax.xml.crypto.dsig.keyinfo.KeyValue;importjavax.xml.crypto.dsig.spec.C14NMethodParameterSpec;importjavax.xml.crypto.dsig.spec.TransformParameterSpec;importjavax.xml.parsers.DocumentBuilderFactory;importjavax.xml.transform.Transformer;importjavax.xml.transform.TransformerFactory;importjavax.xml.transform.dom.DOMSource;importjavax.xml.transform.stream.StreamResult;importorg.w3c.dom.Document;importorg.w3c.dom.Node;importorg.w3c.dom.NodeList;public classSignatureXML {public void saveKey(PublicKey publicKey, PrivateKey privateKey) throwsException{
X509EncodedKeySpec ksp= newX509EncodedKeySpec(publicKey.getEncoded(