से कुंजी प्राप्त नहीं कर सकता मैं कुंजीस्टोर से कुंजी प्राप्त करने का प्रयास करता हूं।KeyStore
Keytool -genkeypair -dname "cn = मार्क जोन्स, कहां = JavaSoft, o = सूर्य, ग = अमेरिका" -alias business2 -keypass abcdtest -keystore C: \ कार्यक्षेत्र \ XMLSample \ मैं Keytool द्वारा एक कीस्ट्रोक बनाया कुंजीस्टोर \ mykeystore.jks -storepass 123456
और निम्नलिखित GenerateXML.java
import java.io.FileInputStream;
import java.security.KeyStore;
import java.security.cert.X509Certificate;
import javax.xml.crypto.dsig.XMLSignContext;
import javax.xml.crypto.dsig.XMLSignatureFactory;
import javax.xml.crypto.dsig.dom.DOMSignContext;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
public class GenerateXML {
public static void main(String[] args) throws Exception {
try {
char[] passwd = "123456".toCharArray();
//Load the KeyStore and get the signing key and certificate
KeyStore ks = KeyStore.getInstance("JKS");
ks.load(new FileInputStream("C:\\workspace\\XMLSample\\keystore\\mykeystore.jks"), passwd);
KeyStore.PrivateKeyEntry keyEnt = (KeyStore.PrivateKeyEntry)ks.getEntry("business2", new KeyStore.PasswordProtection(passwd)); // -> ERROR IN THIS ROW
X509Certificate cert = (X509Certificate)keyEnt.getCertificate();
//Create a DOMSignContext
XMLSignContext context = new DOMSignContext(keyEnt.getPrivateKey(), doc.getDocumentElement()) ;
//Create a DOM XMLSignatureFactory
XMLSignatureFactory fac = XMLSignatureFactory.getInstance("DOM");
} catch(Exception e) {
e.printStackTrace();
throw new Exception(e.toString());
}
}
}
है मैं जावा 1,6
पर चलने लेकिन है त्रुटि:
java.security.UnrecoverableKeyException: Cannot recover key
at sun.security.provider.KeyProtector.recover(KeyProtector.java:311)
at sun.security.provider.JavaKeyStore.engineGetKey(JavaKeyStore.java:121)
at sun.security.provider.JavaKeyStore$JKS.engineGetKey(JavaKeyStore.java:38)
at java.security.KeyStoreSpi.engineGetEntry(KeyStoreSpi.java:456)
at java.security.KeyStore.getEntry(KeyStore.java:1261)
at xml.generate.GenerateXML.main(GenerateXML.java:31)
मुझे एक ही समस्या है। मैं कीस्टोर पासवर्ड दे रहा हूं लेकिन यह कहता है: "विश्वसनीय प्रमाणपत्र प्रविष्टियां पासवर्ड-सुरक्षित नहीं हैं"। अगर मैंने पासवर्ड नहीं दिया तो यह कहता है: "java.security.KeyStore $ TrustedCertificateEntry java.security.KeyStore $ PrivateKeyEntry के साथ असंगत है। –
हाय कोडर, मुझे नीचे दिए गए लिंक में उल्लिखित एक समस्या है। कृपया मुझे एक समाधान प्रदान करें। http://stackoverflow.com/questions/33369965/trusted-certificate-entries-are-not-password-protected-java – praneeth