2009-01-12 17 views
6

के माध्यम से जावा सर्टिफिकेट स्टोर के खिलाफ प्रमाण पत्र सत्यापित करें मैं जावा प्रमाणपत्र स्टोर के विरुद्ध कमांड लाइन के माध्यम से X509 (या DER- स्वरूपित) प्रमाणपत्र कैसे सत्यापित कर सकता हूं?सीएलआई

मैं keytool सुविधा का उपयोग देखा है, लेकिन लगता है कि यह केवल आयात/निर्यात/प्रदर्शन कार्यक्षमता (कोई सत्यापन) संभालती है यह लग रहा है।

संपादित करें: ऐसा लगता है कि keytool सत्यापन के लिए उपयोग किया जा सकता है, लेकिन केवल तभी आयात किया जा सकता है। मुझे लगता है कि इस प्रश्न पूछने का एक बेहतर तरीका यह है कि अधिक निष्क्रिय दृष्टिकोण (जैसे: कीस्टोर को संशोधित नहीं करना) उपलब्ध है या नहीं। धन्यवाद!

उत्तर

2

यह पृष्ठ oversimplifying जा सकता है:

http://java.sun.com/docs/books/tutorial/security/toolfilex/rstep1.html

लेकिन यह नहीं दिखता है यहां तक ​​कि Keytool के साथ आयात की तरह एक प्रमाण पत्र के एक सच्चे सत्यापन करता है। मुझे किसी अन्य विश्वसनीय प्रमाणपत्र के हस्ताक्षर के विरुद्ध आने वाले प्रमाणपत्र के हस्ताक्षर की पुष्टि करने का कोई विवरण नहीं दिख रहा है।

jarsigner हस्ताक्षरित जार पर हस्ताक्षर सत्यापित करेगा, लेकिन जार पर हस्ताक्षर करने के लिए प्रयुक्त प्रमाण पत्र पर हस्ताक्षर सत्यापित करने के लिए कुछ भी नहीं करता है।

मुझे डर है कि आपको या तो सत्यापन करने के लिए एक उपकरण लिखना होगा, या ऐसा करने वाला एक वाणिज्यिक टूल ढूंढना होगा। मुझे लगता है कि कुछ पीकेआई टूल किट में प्रमाण पत्र सत्यापन उपकरण होगा जो ऐसा करेगा।

+0

मुझे लगता है कि आप सही हैं कि Keytool मैं जो करने की कोशिश कर रहा हूं उसका समर्थन नहीं करेगा। हमने अपना स्वयं का उपयोग करने का विकल्प चुना, खासकर जब सेटोलोल पर हस्ताक्षर नहीं किया गया है और हम इसे चलाने से पहले निष्पादन योग्य को सत्यापित करने में सक्षम होना चाहते हैं। – Brian

10

आप 509 फाइलों में जावा कीस्टोर से जरूरत प्रमाण पत्र (उन है कि जिसे आप सत्यापित करने की आवश्यकता के लिए श्रृंखला में कर रहे हैं) export को keytool उपयोग कर सकते हैं। फिर, उन्हें एक फ़ाइल में एक साथ जोड़ दें। अंत में, सत्यापन करने के लिए openssl का उपयोग करें।

openssl verify -CAfile concatenated-certs.crt cert-to-verify.crt 

नहीं एक आदर्श समाधान के बाद से यह truststore से बाहर प्रमाणपत्र पॉपिंग शामिल है, लेकिन यह चाहिए दिया काम करने के लिए क्या आप के साथ शुरू कर रहे हैं।

+1

यह मेरे लिए काम करता है, लेकिन ध्यान दें कि openssl पीईएम स्वरूपित सीर्ट चाहता है और डीईआर नहीं (जो कि कुंजीपोल डिफ़ॉल्ट रूप से उपयोग करता है) – Greg