मुझे सेब पुश सेवाओं से कनेक्ट करने के लिए उपयोग किए जा रहे जेनरेट किए गए प्रमाणपत्र के साथ समस्याएं आ रही हैं। जब उत्पन्न p12 फ़ाइल मेरी src/मुख्य/जावा फ़ोल्डर में था सभी ठीक काम करता है, लेकिन मैं इसे src/मुख्य/संसाधनों में ले जाया गया है और यह निम्न त्रुटि के साथ काम करना बंद करने का फैसला किया:जेनरेट सर्टिफिकेट संसाधन फ़ोल्डर में स्थानांतरित होने पर काम करना बंद कर देता है
DerInputStream.getLength(): lengthTag=111, too big.
में प्राप्त करने के लिए कुछ और विवरण: मैं नोटपॉप पुश अधिसूचना लाइब्रेरी का उपयोग कर रहा हूं और प्रमाणपत्र उत्पन्न करने के लिए रे वेंडरलिच से ट्यूटोरियल का पालन करता हूं।
openssl x509 -in aps_development.cer -inform DER -out aps_development.pem -outform PEM
openssl pkcs12 -nocerts -in single.p12 -out single.pem
openssl pkcs12 -export -inkey single.pem -in aps_development.pem -out dual.p12
उसके बाद मैं अपने जावा परियोजना में dual.p12 चले गए: के बाद, मैं जावा में उपयोग के लिए p12 फ़ाइल उत्पन्न करने के लिए निम्न कमांड के लिए इस्तेमाल किया। सबसे पहले फ़ाइल मेरे/src/main/java फ़ोल्डर में थी, com.company.push.certificates
पर कहें (जबकि फ़ाइल का अनुरोध करने वाला कोड com.company.push
पर है)। मैं विकास में
InputStream stream = this.getClass().getResourceAsStream("certificates/dual.p12");
यह काम कर ठीक का उपयोग करके एक InputStream का अनुरोध नहीं, बल्कि जब परियोजना का निर्माण (Maven का उपयोग), thats क्यों मैं संसाधन फ़ोल्डर में संसाधन ले जाया गया, ठीक उसी पैकेज का उपयोग। संसाधन अभी भी मिलता है, लेकिन अब मुझे ऊपर उल्लिखित java.io.IOException
कोई भी जानता है कि इसका कारण क्या हो सकता है?
Ps: जब मैं फ़ाइल को वापस src/main/java में पैकेज में ले जाता हूं, तो सभी ठीक काम करता है, इसलिए प्रमाणपत्र मान्य होना प्रतीत होता है।
मैं एक बेवकूफ की तरह महसूस मैं इस अपने आप को ... इस समस्या लगती जाँच नहीं किया। कम से कम किसी तरह में। विकास करते समय मैं एक स्थानीय जब्स उदाहरण का उपयोग करता हूं, मैंने फाइल निर्देशिका में फ़ाइल की जांच की, ऐसा लगता है कि वास्तव में फ़ाइल के साथ कुछ गड़बड़ है।ऐसा लगता है कि एक अलग एन्कोडिंग (यूटीएफ -8) भी है, इसलिए मुझे लगता है कि इसे बाइनरी फ़ाइल के बजाय टेक्स्ट फ़ाइल के रूप में माना जाता था। मेरे द्वारा इसे कैसे रोका जा सकता है? –
ठीक है, किसी कारण से jboss सामग्री के बावजूद, .p12 फ़ाइलों के साथ गड़बड़ करने के लिए मजाकिया लगता है। * .p12.cert पर फ़ाइल का नाम बदलने के लिए पर्याप्त 'ठीक' लगता है, हालांकि मुझे बहुत खुश नहीं करता है :( –