प्रकट - mf - codebase - विदेशी मुद्रा


मैनिफेस्ट फाइलों के साथ कार्य करना: मूल बातें JAR फाइलें इलेक्ट्रॉनिक हस्ताक्षर, संस्करण नियंत्रण, पैकेज सीलिंग, और अन्य सहित विस्तृत कार्यक्षमता का समर्थन करती हैं। क्या एक JAR फ़ाइल इस बहुमुखी प्रतिभा देता है उत्तर JAR फ़ाइल का प्रकट होता है मैनिफ़ेस्ट एक विशेष फाइल है जिसमें जार फ़ाइल में पैक किए गए फ़ाइलों के बारे में जानकारी हो सकती है। मैनिफेस्ट में इस उद्धृत जानकारी को सिलाई करके, आप विभिन्न उद्देश्यों को पूरा करने के लिए JAR फ़ाइल को सक्षम करते हैं। यह पाठ मैनिफ़ेस्ट फ़ाइल की सामग्रियों को समझाता है और आपको बताता है कि बुनियादी सुविधाओं के उदाहरणों के साथ, इसके साथ कैसे काम किया जाए: जब आप एक JAR फ़ाइल बनाते हैं, तो डिफ़ॉल्ट मैनिफ़ेस्ट स्वचालित रूप से बन जाता है यह खंड डिफ़ॉल्ट मैनिफेस्ट का वर्णन करता है। यह खंड आपको एक मैनिफ़ेस्ट फ़ाइल को संशोधित करने की मूल विधि दिखाता है। बाद के खंड विशिष्ट संशोधनों को प्रदर्शित करते हैं जिन्हें आप बनाना चाहते हैं यह खंड बताता है कि एप्लिकेशन के प्रवेश बिंदु को सेट करने के लिए मैनिफ़ेस्ट फ़ाइल में मेन-क्लास हेडर का उपयोग कैसे करें। यह खंड वर्णन करता है कि क्लाइंट-पथ हेडर को मैनिफेस्ट फ़ाइल में अन्य JAR फ़ाइलों में कक्षाओं को क्लासपाथ में जोड़ने के लिए कैसे उपयोग करें, जब कोई ऐपलेट या अनुप्रयोग चलाया जाए यह खंड मैनिफ़ेस्ट फ़ाइल में पैकेज संस्करण हेडर का उपयोग करने का वर्णन करता है। यह खंड मैनिफ़ेस्ट फ़ाइल को संशोधित करके जेआर फ़ाइल के भीतर संकुल को सील करने का वर्णन करता है। यह खंड वर्णन करता है कि एपलेट या जावा वेब स्टार्ट आवेदन की सुरक्षा बढ़ाने के लिए मैनिफ़ेस्ट एट्रिब्यूट्स का उपयोग कैसे करें। अतिरिक्त जानकारी मैनिफ़ेस्ट स्वरूप का एक विवरण ऑन-लाइन जेडीके दस्तावेज का हिस्सा है। इस पृष्ठ के उपयोग और जावा ट्यूटोरियलक्लॉट बैनर के तहत पृष्ठों पर सभी सामग्री इन कानूनी नोटिस के अधीन है कॉपीराइट प्रतिलिपि 1995, 2015 ओरेकल और उसके सहयोगियों सर्वाधिकार सुरक्षित। शिकायतें प्रशंसा सुझाव हमें अपनी प्रतिक्रिया दें। सुरक्षा के लिए जर्सी फ़ाइल मैनिफेट विशेषता JAR फ़ाइल मैनिफ़ेस्ट में सुरक्षा और कॉन्फ़िगरेशन जानकारी सहित जार फ़ाइल की सामग्री के बारे में जानकारी शामिल है। ब्राउज़र से आरआईए चलाने की सुरक्षा बढ़ाने के लिए इस अनुभाग में वर्णित मैनिफ़ेस्ट एट्रिब्यूट्स का उपयोग करें। JAR फ़ाइल हस्ताक्षरित होने से पहले प्रकट होने वाले विशेषताओं को जोड़ें। JAR मैनिफ़ेस्ट फ़ाइल के गुणों को जोड़ने पर जानकारी के लिए जावा ट्यूटोरियल में मैनिफ़ेस्ट फ़ाइल को संशोधित करना देखें। नोट: इन विशेषताओं को हस्ताक्षरित एप्लेट और जावा वेब प्रारंभ अनुप्रयोगों पर लागू होते हैं। इन विशेषताओं को अकेले जावा अनुप्रयोगों के लिए अनदेखा कर दिया गया है। अनुमतियाँ विशेषताएँ अनुमतियों का उपयोग यह सत्यापित करने के लिए किया जाता है कि आरएआई द्वारा अनुमति स्तर का अनुरोध किया जाता है जब यह अनुमति स्तर से मेल खाता होता है जो सेट किया गया था जब JAR फ़ाइल बनाई गई थी। इस विशेषता का उपयोग किसी व्यक्ति को अपने प्रमाणपत्र के साथ हस्ताक्षरित किसी भी एप्लिकेशन को फिर से परिनियोजित करने और इसे एक अलग विशेषाधिकार स्तर पर चलाने से रोकने में मदद करने के लिए करें। इस विशेषता को निम्न मानों में से एक सेट करें: सैंडबॉक्स - इंगित करता है कि आरआईए सुरक्षा सैन्डबॉक्स में चलाता है और अतिरिक्त अनुमतियों की आवश्यकता नहीं है। सभी अनुमतियां - संकेत करता है कि आरआईए को उपयोगकर्ताओं के सिस्टम संसाधनों तक पहुंच की आवश्यकता है। जावा वेब स्टार्ट एप्लिकेशन और एप्लेट जो कि जेएनएलपी का उपयोग करते हैं, के लिए अनुमतियों के मान को जेएनएलपी फ़ाइल में अनुरोधित अनुमति स्तर से मेल खाना चाहिए, या यदि कोई अनुमति स्तर का अनुरोध नहीं किया गया है तो डिफ़ॉल्ट अनुमति से मेल खाना चाहिए। अन्यथा, एक त्रुटि दिखाई गई है और आरआईए अवरुद्ध है। सुरक्षा तत्व के बारे में जानकारी के लिए जेएनएलपी फ़ाइल का संरचना देखें जो कि अनुमति स्तर का अनुरोध करने के लिए उपयोग किया जाता है। यदि तत्व मौजूद नहीं है, तो अनुमति स्तर सैंडबॉक्स के लिए डिफ़ॉल्ट है। एपलेट्स के लिए जो JNLP का उपयोग नहीं करते, अनुमतियों के मान को एप्लेट टैग में अनुरोधित अनुमति स्तर से मेल खाना चाहिए। अन्यथा, एक त्रुटि दिखाई गई है और आरआईए अवरुद्ध है। यदि ऐपलेट टैग में कोई अनुमति स्तर नहीं है, तो अनुमतियाँ विशेषता द्वारा सेट किए गए अनुमति स्तर के साथ हस्ताक्षरित एप्लेट। एपलेट टैग में अनुमति स्तर की सेटिंग के बारे में जानकारी के लिए एपलेट टैग के साथ परिनियोजित देखें। यदि जावा नियंत्रण कक्ष में सुरक्षा स्तर स्लाइडर बहुत उच्च या उच्च पर सेट है आरआईए के लिए मुख्य JAR फ़ाइल में अनुमतियों की विशेषता आवश्यक है। यदि विशेषता मौजूद नहीं है, तो आरआईए अवरुद्ध है। मध्यम सुरक्षा स्तर के लिए, अगर अनुमतियों का गुण मौजूद नहीं है, तो सुरक्षा प्रांप्ट में लापता विशेषता के बारे में एक पीला चेतावनी होती है, और आरआईए द्वारा अनुरोधित अनुमति स्तर का उपयोग किया जाता है। कोडबेस विशेषता कोडबेस विशेषता को विशिष्ट डोमेन के लिए JAR फ़ाइल के कोड बेस को प्रतिबंधित करने के लिए उपयोग किया जाता है। दुर्भावनापूर्ण उद्देश्यों के लिए किसी अन्य वेबसाइट पर अपने आवेदन को फिर से नियोजित करने से रोकने के लिए इस विशेषता का उपयोग करें। नोट: यदि कोडबेस विशेषता किसी सुरक्षित सर्वर को निर्दिष्ट नहीं करती है, जैसे HTTPS। कुछ जोखिम यह है कि मैन-इन-द-मध्य (एमआईटीएम) हमले की योजनाओं में आपके कोड का पुनर्निर्माण किया जा सकता है इस विशेषता को डोमेन नाम या आईपी पते पर सेट करें जहां अनुप्रयोग के लिए जार फ़ाइल स्थित है। प्रोटोकॉल और पोर्ट नंबर भी शामिल किया जा सकता है। कई स्थानों के लिए, एक स्थान के साथ मूल्यों को अलग करें एक तारांकन () केवल वाइल्डकार्ड के रूप में डोमेन नाम की शुरुआत में ही इस्तेमाल किया जा सकता है, और केवल एक शीर्ष-स्तरीय डोमेन के साथ उपयोग नहीं किया जा सकता, जैसे कि। निम्न तालिका नमूना मान दिखाती है और जो वे मेल खाते हैं कोडबेस विशेषता का मान आरआईए के लिए जार फ़ाइल के स्थान से मेल खाना चाहिए। अन्यथा, एक त्रुटि दिखाई गई है और आरआईए अवरुद्ध है। यदि विशेषता मौजूद नहीं है, तो जावा कंसोल पर एक चेतावनी लिखा है और एपलेट टैग या जेएनएलपी फ़ाइल के लिए निर्दिष्ट कोड बेस का उपयोग किया जाता है। एप्लिकेशन-नाम विशेषता आपके साइन-आरआईए के लिए एक शीर्षक प्रदान करने के लिए सुरक्षा-संकेतों में एप्लिकेशन-नाम विशेषता का उपयोग किया जाता है। इस विशेषता का उपयोग उपयोगकर्ताओं को आरआईए पर भरोसा करने और चलाने का फैसला करने में मदद करने के लिए अनुशंसित है। मान किसी भी वैध स्ट्रिंग हो सकता है, उदाहरण के लिए: यदि एप्लिकेशन-नाम विशेषता JAR फ़ाइल मैनिफ़ेस्ट में मौजूद नहीं है, तो एक चेतावनी जावा कंसोल पर लिखी जाती है और मेन-क्लास विशेषता के लिए उपयोग किया जाता है। अगर मैनिफ़ेस्ट में कोई विशेषता मौजूद नहीं है, तो सुरक्षा संकेतों में कोई शीर्षक नहीं दिखाया गया है। अहस्ताक्षरित आरआईए के लिए शीर्षक नहीं दिखाए गए हैं एप्लिकेशन-लाइब्रेरी-स्वीकार्य-कोडबेस एट्रिब्यूट एप्लिकेशन-लाइब्रेरी-स्वीकार्य-कोडबेस एट्रिब्यूट उन स्थानों की पहचान करता है जहां आपके हस्ताक्षरित आरआईए की उम्मीद की जाती है। इस विशेषता का उपयोग यह निर्धारित करने के लिए किया जाता है कि सुरक्षा प्रक्रम के लिए स्थान फ़ील्ड में जो सूचीबद्ध है, उपयोगकर्ताओं को दिखाया जाता है जब आपके आरआईए के लिए JAR फ़ाइल JNLP फ़ाइल या HTML पृष्ठ से अलग स्थान पर है जो आपके आरआईए को प्रारंभ करता है। यदि फ़ाइलें पहचान की गई स्थानों में नहीं हैं, तो आरआईए अवरुद्ध है। इस विशेषता को डोमेन में सेट करें जहां JAR फ़ाइल, JNLP फ़ाइल और HTML पृष्ठ स्थित हैं। एक से अधिक डोमेन निर्दिष्ट करने के लिए, स्पेस द्वारा डोमेन को अलग करें, उदाहरण के लिए: अगर अनुप्रयोग लायब्रेरी-स्वीकार्य-कोडबेस विशेषता मौजूद है और उस स्थान से मेल खाता है जिस पर आरआईए शुरू की गई है, तो एक एकल होस्ट स्थान फ़ील्ड में सूचीबद्ध है संकेत के लिए और भविष्य के संकेतों को छिपाने का विकल्प प्रदान किया गया है। यदि यह विशेषता मौजूद है और फ़ाइलों को किसी स्थान से एक्सेस नहीं किया गया है जो विशेषता के लिए शामिल नहीं है, तो आरआईए अवरुद्ध है। यदि यह विशेषता मौजूद नहीं है, तो JAR फ़ाइल के स्थानों और JNLP फ़ाइल या HTML पृष्ठ के अनुरूप कई मेजबान प्रांप्ट के लिए स्थान फ़ील्ड में सूचीबद्ध हैं। जब एकाधिक होस्ट दिखाए जाते हैं, तो उपयोगकर्ता को भविष्य के संकेतों को छिपाने का विकल्प नहीं दिया जाता है। इस विशेषता का उपयोग अनुशंसित है इसलिए आरआईए के लिए फ़ाइलें केवल ज्ञात स्थानों से ही उपयोग की जाती हैं। यह विशेषता जरूरी नहीं है यदि आरआईए के लिए जार फाइल जेएनएलपी फ़ाइल या एचआईएल पृष्ठ के समान स्थान है जो आरआईए शुरू होती है। अनुमति दी गई मानों के विवरण के लिए कोडबेस विशेषता देखें। कॉलर-स्वीकार्य-कोडबेस विशेषता कॉलर-स्वीकार्य-कोडबेस विशेषता का उपयोग उन डोमेन की पहचान करने के लिए किया जाता है, जिससे जावास्क्रिप्ट कोड सुरक्षा आरम्भ के बिना आपके आरआईएस को कॉल कर सकता है। इस विशेषता को डोमेन पर सेट करें जो जावास्क्रिप्ट कोड को होस्ट करता है। यदि कॉल को JavaScript कोड से बनाया गया है जो कॉलर-स्वीकार्य-कोडबेस विशेषता द्वारा निर्दिष्ट डोमेन में नहीं है, तो कॉल अवरुद्ध है। एक से अधिक डोमेन निर्दिष्ट करने के लिए, स्पेस द्वारा डोमेन को अलग करें, उदाहरण के लिए: यदि कॉलर-स्वीकार्य-कोडबेस विशेषता मौजूद नहीं है, तो JavaScript कोड से आपके आरआईए को एक सुरक्षा चेतावनी दिखाती है, और उपयोगकर्ताओं को कॉल की अनुमति देने के लिए विकल्प होता है या कॉल को रोकें। अहस्ताक्षरित आरआईए के लिए, जावास्क्रिप्ट कोड जिसके लिए आरआईए की पहुंच की आवश्यकता है, उसी स्थान पर आपके आरआईए के लिए मुख्य JAR फ़ाइल के रूप में होना चाहिए, अन्यथा उपयोगकर्ता को एक्सेस की अनुमति देने के लिए कहा जाता है। प्रत्येक एप्लेट क्लासलोडर उदाहरण के लिए सुरक्षा संकेत दिखाए जाते हैं। अनुमति दी गई मानों के विवरण के लिए कोडबेस विशेषता देखें। यदि एक स्टैंड-अलोन एस्टरिस्क () को कॉलर-स्वीकार्य-कोडबेस विशेषता के लिए मान के रूप में निर्दिष्ट किया गया है, तो JavaScript कोड से आपके आरआईए को एक सुरक्षा चेतावनी दिखाती है, और उपयोगकर्ताओं को कॉल की अनुमति देने या कॉल को ब्लॉक करने के लिए विकल्प होता है। विकल्प को याद करने का विकल्प भी प्रदान किया गया है, और यदि चयनित किया गया है, तो आरआईए शुरू होने पर चेतावनी अब दिखाई नहीं दे रही है। एंट्री-पॉइंट एट्रिब्यूट एंट्री-पॉइंट एट्रिब्यूट का प्रयोग उन कक्षाओं की पहचान करने के लिए किया जाता है जो आपके आरआईए को एंट्री पॉइंट के रूप में उपयोग करने की अनुमति है। एंट्री पॉइंट की पहचान करने से अनाधिकृत कोड को चलाने से रोकने में मदद मिलती है जब किसी JAR फ़ाइल में मुख्य () विधि, एक से अधिक एप्लेट वर्ग या एकाधिक जावा एफएक्स अनुप्रयोग वर्ग के साथ एक से अधिक वर्ग होते हैं। इस विशेषता को पूर्ण रूप से योग्य वर्ग के नाम पर सेट करें जिसे आरआईए के लिए प्रवेश बिंदु के रूप में इस्तेमाल किया जा सकता है। एक से अधिक वर्गों को निर्दिष्ट करने के लिए, एक अंतरिक्ष से कक्षाओं को अलग करें, उदाहरण के लिए: प्रविष्टि-बिंदु: apps. test. TestUI apps. test. TestCLI यदि JAR मेनिफ़ेस्ट पर हस्ताक्षर किए गए हैं और मुख्य-क्लास या एपलेट-क्लास प्रवेश बिंदु निर्दिष्ट जेएनएलपी फाइल या एप्लिकेशन डिस्क्रिप्टर एंट्री-पॉइंट एट्रिब्यूट के लिए निर्दिष्ट क्लास से अलग है, फिर आरआईए अवरुद्ध है। यदि एंट्री-पॉइंट विशेषता मौजूद नहीं है, तो किसी मुख्य () विधि के साथ कोई भी क्लास, या Jar फ़ाइल में किसी भी एपलेट या जावा एफएक्स एप्लिकेशन क्लास का इस्तेमाल आपकी आरआईए को शुरू करने के लिए किया जा सकता है। विश्वसनीय-केवल विशेषता का उपयोग अविश्वसनीय वर्गों या संसाधनों को ऐप्पलेट या एप्लिकेशन के लिए लोड होने से रोकने के लिए किया जाता है। विशेषता के मान को सही पर सेट करें उदाहरण के लिए: यह विशेषता एक विशेषाधिकृत अनुप्रयोग या ऐपलेट को अविश्वस्त घटकों के साथ repurposed होने से रोकता है। आवेदन या ऐपलेट में सभी वर्गों और संसाधनों पर हस्ताक्षर होना चाहिए और सभी अनुमतियों का अनुरोध करना होगा। विश्वसनीय-लायब्रेरी विशेषता का उपयोग अनुप्रयोगों और एप्लेट के लिए किया जाता है जो अविश्वसनीय घटकों को अनुमति देने के लिए डिज़ाइन किए गए हैं। कोई चेतावनी संवाद नहीं दिखाया गया है और एक अनुप्रयोग या एप्लेट जेआर फाइलों को लोड कर सकता है जिसमें अविश्वसनीय वर्ग या संसाधन शामिल हैं। विशेषता के मान को सही पर सेट करें उदाहरण के लिए: यह विशेषता एक विशेषाधिकृत अनुप्रयोग या ऐपलेट में घटकों को अविश्वस्त घटकों के साथ repurposed होने से रोकता है। इस प्रकट विशेषता वाले एक जार फाइल में सभी वर्गों और संसाधनों पर हस्ताक्षर होना चाहिए और सभी अनुमतियों का अनुरोध करना होगा। मिश्रित कोड एप्लिकेशन या एप्लेट में, सभी विशेषाधिकार प्राप्त वर्गों और संसाधनों को जार फाइलों में शामिल किया जाना चाहिए जिसमें विश्वसनीय-लायब्रेरी विशेषता होती है। इस विशेषता का प्रयोग विशेषाधिकारित जावा कोड सैंडबॉक्स जावा कोड के बीच कॉल के लिए किया जाता है। यदि आपके पास JavaScript कोड है जो जावा कोड को कॉल करता है, तो कॉलर-स्वीकार्य-कोडबेस विशेषता देखें सभी भरोसेमंद पुस्तकालय JARs को एक अलग समर्पित क्लास लोडर में लोड किया जाता है जो कि एप्लिकेशन या एपलेट उदाहरण के लिए अद्वितीय है। यह विश्वसनीय-लाइब्रेरी लोडर अब सामान्य वेब प्रारंभ या एप्लेट वर्ग लोडर के माता-पिता है। मूल खोज आदेश के साथ पिछली संगतता के लिए, दोनों लोडर एक सामान्य वर्ग पथ को लागू करने के लिए सहयोग करते हैं। पूर्व रिलीज़ के साथ संगत, जार फाइल आलसी डाउनलोड करती है और अनुरोधित वर्गों और संसाधनों को खोजने के लिए खोले जाते हैं। एक JAR फ़ाइल में कोड जिसे ट्रस्टेड-लाइब्रेरी मैनिफ़ेस्ट एट्रिब्यूट के साथ चिह्नित किया जा सकता है, उसे थोड़ा संशोधित करने की आवश्यकता हो सकती है, अगर वह क्लास लोडर आश्रित हैं, जैसे कि कक्षा.forName () का एकल पैरामीटर संस्करण Class. getResource ()। और कक्षा.getResourceAsStream () java. util. ResourceBundle. getBundle () के कुछ संस्करण। और किसी भी अन्य तरीके जो अपने तत्काल कॉल करने वाले लोडर को परिभाषित करते हैं। यदि केवल अनुरोध किया गया वर्ग या संसाधन एक JAR फ़ाइल में पाया जा सकता है, जो ट्रस्टेड-लाइब्रेरी नहीं है (और इसलिए सामान्य वेब स्टार्ट या एप्लेट वर्ग लोडर द्वारा लोड किया जाता है) तो केवल परिवर्तन किए जाने की आवश्यकता है। ट्रस्टेड-लाइब्रेरी में कोड थ्रेड। कंर्टट्रेड ()। को आरंभ करके सामान्य लोडर को देख सकता है। GetContextClassLoader () ध्यान दें, हालांकि, असामान्य परिस्थितियों में हो सकता है जिसमें getContextClassLoader () शून्य हो सकता है। उदाहरण के लिए, ऐसा तब हो सकता है जब कचरा कलेक्टर एक जेआरई सिस्टम धागा का उपयोग करता है, जो ऑब्जेक्ट को फ़ाइनल करने के लिए उपयोग करता है। यदि आपको क्लास को कक्षा.getResource () या कक्षा.getResourceAsStream () को उनके क्लासलोडर समकक्ष में कनवर्ट करना है, तो उन दो तरीकों के लिए प्रलेखन द्वारा वर्णित स्ट्रिंग पैरामीटर को समायोजित करना याद रखें। यदि मूल संसाधन नाम से शुरू हुआ तो यह एक निरपेक्ष नाम था और अग्रणी को केवल हटाया जाना चाहिए अन्यथा, निर्धारित करें कि क्या क्लास इंस्टेंस जो getResource कॉल का लक्ष्य था, नामित पैकेज में है। यदि यह एक सरणी है, तो आपको पहले सरणी के अंतर्निहित घटक प्रकार का निर्धारण करना चाहिए। वर्ग या घटक प्रकार उदाहरण पर class. getName () को आमंत्रित करें। यदि वर्ग के नाम में कोई भी शामिल है वर्ण, यह एक नामित पैकेज में है, जिसे मूल संसाधन नाम के लिए तैयार करना होगा। पैकेज के नाम को किसी भी अक्षर को हटाने के बाद निर्धारित करें, और बाद में, अनुमार्गण सहित। चरित्र। अगला, किसी भी शेष की जगह। अक्षर के साथ वर्ण अंत में, एक अनुगामी जोड़ें और मूल संसाधन नाम स्ट्रिंग संलग्न करें। यह नया स्ट्रिंग अब getResource () या getResourceAsStream () विधियों के क्लासलोडर संस्करण को पारित किया जा सकता है आम तौर पर, यह सुनिश्चित करने के लिए ध्यान रखा जाना चाहिए कि विश्वसनीय लाइब्रेरी में कोड सावधानीपूर्वक और सुरक्षित तरीके से लिखा गया है और अन्य क्लास लोडर इंस्टेंस में किसी भी शेष जार से भरे जाने के साथ संगत है, जो कि आवेदन का हिस्सा हैं और लोड होते हैं सामान्य लोडर अतिरिक्त जानकारी अविश्वसनीय कोड से कॉल का प्रबंधन करने के लिए मैनिफ़ेस्ट विशेषता का उपयोग करने के बारे में जानकारी के लिए विशेषाधिकारित कोड और सैंडबॉक्स कोड को मिलाते हुए देखें। स्पष्ट अनुमति स्तर और कोड बेस का उपयोग करने के लिए यह सुनिश्चित करने के लिए प्रकट एट्रिब्यूट्स का उपयोग करने के बारे में जानकारी के लिए आरआईए को रोकना रोकें देखें। JAR मैनिफ़ेस्ट फ़ाइल में विशेषताओं को जोड़ने पर जानकारी के लिए, जावा ट्यूटोरियल में एक मैनिफ़ेस्ट फ़ाइल को संशोधित करना देखें।

Comments

Popular posts from this blog

विदेशी मुद्रा - handelszeiten - ड्यूश - zeitung

विदेशी मुद्रा - संगोष्ठी - new - यॉर्क

विदेशी मुद्रा विशेषज्ञ सलाहकार जनरेटर ट्यूटोरियल