5

के लिए काम नहीं कर रहा है मैंने विकास के लिए अपने आवेदन के लिए पुश अधिसूचना की कोशिश की है और यह ठीक काम कर रहा है। जब मैं उत्पादन (वितरण) की .p12 फ़ाइल उत्पन्न कर रहा हूं तो यह बनाया जा रहा है। सर्वर पर तैनाती .pem फ़ाइल के बाद यह फेंकने और त्रुटि है।आईओएस पुश नोटिफिकेशन वितरण

OpenSSL :: एसएसएल :: SSLError (SSL_connect लौटे = 1 errno = 0 राज्य = SSLv3 पढ़ सर्वर रों ession टिकट एक: SSLv3 चेतावनी प्रमाणपत्र अज्ञात): "}

सर्वर: आतंक विरोधी (रूबी रेल पर) किसी भी मदद की बहुत सराहनीय होगा

नोट:।।।। विकास के लिए .p12 यह ठीक काम कर रहा है मुद्दा है जब मैं कर रहा हूँ की तैनाती वितरण .p12 कृपया सुझाव है कि मैं क्या गायब हो सकता है

धन्यवाद और सादर

उत्तर

3

@Learner

अन्य सभी विकल्पों तो काम नहीं कर रहे हैं, तो आप की जाँच करनी चाहिए कि कैसे आप अपने p12 फ़ाइल निर्यात कर रहे हैं। आपको पी 12 फाइल निर्यात करना चाहिए जो ऐप्पल प्रोडक्शन सर्टिफिकेट से जुड़ा हुआ है, मुझे उम्मीद है कि यह काम करेगा .. क्योंकि यह मेरे लिए काम करता है !!!

1

आप सत्यापन छोड़ करना चाहते हैं, तो आप इस का उपयोग कर सकते हैं।

require 'net/http' 
    require 'openssl' 

    class Net::HTTP alias_method :origConnect, :connect 
     def connect 
      @ssl_context.verify_mode = OpenSSL::SSL::VERIFY_NONE 
      origConnect 
     end 
    end 

स्रोत: How to get rid of OpenSSL::SSL::SSLError

लेकिन चूंकि हम सुरक्षित का उपयोग करना चाहिए बनना चाहता हूँ

ENV['SSL_CERT_DIR'] = '/usr/share/ca-certificates/'

अधिक समाधान OmniAuth & Facebook: certificate verify failed

7

जांच इस पर अपने Sever कोड

में पालन

gateway.push.apple.com, वितरण

gateway.sandbox.push.apple.com के लिए पोर्ट 2195, पोर्ट 2195

  1. लॉग-इन iPhone डेवलपर कार्यक्रम पोर्टल करने के लिए।
  2. दाईं ओर मेनू से ऐप आईडी चुनें।
  3. वाइल्डकार्ड के बिना एक ऐप आईडी बनाएं।
  4. इस ऐप आईडी के बगल में कॉन्फ़िगर करें लिंक पर क्लिक करें और फिर नया विकास पुश SSL प्रमाणपत्र उत्पन्न करने के लिए विज़ार्ड प्रारंभ करने के लिए बटन पर क्लिक करें। वितरण के लिए एक नया उत्पादन पुश एसएसएल प्रमाणपत्र उत्पन्न करने के लिए विकास (या) के लिए।
  5. डाउनलोड इस प्रमाणपत्र और aps_developer_identity.cer पर डबल क्लिक करें यह आपके कीचेन
  6. लॉन्च कीचेन सहायक में आयात करने और छोड़ दिया विस्तृत एप्पल विकास पुश सेवाओं पर मेरे प्रमाण पत्र पर क्लिक करें और एप्पल विकास पुश सेवाएं
  7. दाएँ क्लिक करें और "1 तत्व निर्यात करें ..." चुनें और apns-cert.p12 के रूप में सहेजें। और उसी क्षेत्र में आपकी निजी कुंजी राइट-क्लिक करें और "1 तत्व निर्यात करें ..." चुनें और apns-key.p12 के रूप में सहेजें।

8.Open टर्मिनल और .p12 बचाने के लिए और PEM प्रारूप में PKCS12 प्रमाण पत्र बंडल परिवर्तित इस आदेश

मैं) का उपयोग करने के लिए इस्तेमाल करने के लिए स्थान परिवर्तन निर्देशिका।openssl pkcs12 -clcerts -nokeys -out apns-cert.pem -in apns-cert.p12 ii)। openssl pkcs12 -nocerts -out apns-key.pem -in apns-key.p12 यहां आपको php कोड में पहुंच के लिए कुछ कुंजी देना है।

पासफ्रेज़

iii) हटाएं। openssl rsa -in apns-key.pem -out apns-key-noenc.pem यहां आपको पासफ्रेज़ निकालने के लिए एक ही कुंजी देना है।

अंत में iv)। बिल्ली apns-cert.pem apns-key-noenc.pem> apns-dev.pem।

अब आप इस पीईएम फ़ाइल को अपने प्रमाणपत्र के रूप में ApnsPHP में उपयोग कर सकते हैं!

0

मैंने इसे हल किया। यह एक .p12 फ़ाइल त्रुटि थी। मैं .p12 नहीं बना रहा था जिसे मुझे उपयोग करना था।

धन्यवाद !!

0

मैं मणि 'rpush', जो पीईएम फ़ाइल ले लिया साख से & डेटाबेस में संग्रहीत फ़ोल्डर उपयोग कर रहा था। मेरा समाधान डेटाबेस के सभी पुराने Rpush :: Apns :: ऐप रिकॉर्ड को हटाना था और मेरे क्रेडेंशियल्स फ़ोल्डर में पेम फ़ाइल को अपडेट करने के बाद पुन: उत्पन्न रिकॉर्ड्स को हटा देना था।

app = Rpush::Apns::App.new 
app.name = "ios_app" 
app.certificate = File.read("/path/to/sandbox.pem") 
app.environment = "sandbox" # APNs environment. 
app.password = "certificate password" 
app.connections = 1 
app.save! 

n = Rpush::Apns::Notification.new 
n.app = Rpush::Apns::App.find_by_name("ios_app") 
n.device_token = "..." # 64-character hex string 
n.alert = "hi mom!" 
n.data = { foo: :bar } 
n.save! 
संबंधित मुद्दे