জাভা ওয়েব সার্ভিস ক্লায়েন্টের বিকাশের সময় আমি একটি সমস্যার মধ্যে পড়েছিলাম। ওয়েবসওয়ারিসের জন্য প্রমাণীকরণ একটি ক্লায়েন্ট শংসাপত্র, একটি ব্যবহারকারীর নাম এবং একটি পাসওয়ার্ড ব্যবহার করছে। ওয়েবসার্চির পিছনে সংস্থা থেকে আমি যে ক্লায়েন্ট শংসাপত্র পেয়েছি তা .cer
ফর্ম্যাটে রয়েছে। আমি যখন কোনও পাঠ্য সম্পাদক ব্যবহার করে ফাইলটি পরিদর্শন করি তখন এটিতে নিম্নলিখিত বিষয়বস্তু রয়েছে:
-----BEGIN CERTIFICATE-----
[Some base64 encoded data]
-----END CERTIFICATE-----
আমি এই ফাইলটি ইন্টারনেট এক্সপ্লোরারে একটি শংসাপত্র হিসাবে আমদানি করতে পারি (কোনও পাসওয়ার্ড প্রবেশ না করেই!) এবং ওয়েবসওয়ারিসের সাথে প্রমাণীকরণের জন্য এটি ব্যবহার করতে পারি।
আমি প্রথম এবং শেষ লাইনটি প্রথমে ইউনিক্স নিউলাইনগুলিতে রূপান্তর করে এবং একটি বেস 64-ডিকোড চালিয়ে কী-স্টোরে এই শংসাপত্রটি আমদানি করতে সক্ষম হয়েছি। ফলস্বরূপ ফাইলটি একটি কীস্টোরে আমদানি করা যায় ( keytool
কমান্ডটি ব্যবহার করে )। আমি যখন কীস্টোরে এন্ট্রি তালিকাবদ্ধ করি তখন এই এন্ট্রিটি ধরণের হয় trustedCertEntry
। এই প্রবেশের ধরণের কারণে (?) ওয়েবসওয়ার্সের সাথে প্রমাণীকরণের জন্য আমি এই শংসাপত্রটি ব্যবহার করতে পারি না। আমি ভাবতে শুরু করি যে প্রদত্ত শংসাপত্রটি একটি সর্বজনীন শংসাপত্র যা প্রমাণীকরণের জন্য ব্যবহৃত হচ্ছে ...
আমি খুঁজে পেয়েছি এমন একটি কার্যকারিতা হ'ল আইটিতে শংসাপত্রটি আমদানি করা এবং এটি .pfx
ফাইল হিসাবে রফতানি করা । এই ফাইলটি কীস্টোর হিসাবে লোড করা যেতে পারে এবং ওয়েব সার্ভিসের সাহায্যে প্রমাণীকরণ করতে ব্যবহার করা যেতে পারে। তবে আমি আশা করি না যে আমার ক্লায়েন্টরা যখনই নতুন শংসাপত্র গ্রহণ করবেন তারা এই পদক্ষেপগুলি সম্পাদন করবেন। সুতরাং আমি .cer
সরাসরি জাভায় ফাইলটি লোড করতে চাই । কোন চিন্তা?
অতিরিক্ত তথ্য: ওয়েবসওয়ারিসের পিছনে সংস্থাটি আমাকে বলেছিল যে পিসি এবং ব্যবহারকারীর কাছ থেকে শংসাপত্রটি অনুরোধ করা উচিত (যা আইটি এবং ওয়েবসাইট ব্যবহার করে) পরে শংসাপত্রটি আমদানি করবে।