পিএএম শংসাপত্র শৃঙ্খলা এবং জাভা কীস্টোরে কী কী আমদানি


29

এই বিষয়টি সম্পর্কে প্রচুর সংস্থান আছে, কিন্তু আমি কিছু খুঁজে পাইনি যা এই সামান্য বিশেষ ক্ষেত্রে জুড়ে।

আমার 4 টি ফাইল রয়েছে;

  • privatekey.pem
  • certificate.pem
  • intermediate_rapidssl.pem
  • ca_geotrust_global.pem

এবং আমি এগুলি একটি নতুন কীস্টোরে আমদানি করতে চাই।

কিছু সাইট DER- ফর্ম্যাট ব্যবহার করে এবং একে একে আমদানি করার পরামর্শ দেয় তবে কীটি স্বীকৃতি না পেয়ে এটি ব্যর্থ হয়েছে।

অন্য একটি সাইট আমদানির জন্য চালানোর জন্য একটি বিশেষ "ইম্পোর্টকি" -ক্লাসের পরামর্শ দিয়েছে এবং আমি যতক্ষণ না দেখলাম চেইনটি নষ্ট হয়ে গেছে এটি কাজ করে। অর্থাত্ অন্তর্বর্তী এবং সিএ উপেক্ষা করে শংসাপত্রের চেইনের দৈর্ঘ্য 1 হয় is

কিছু সাইট PKCS7 পরামর্শ দেয় তবে আমি সেখান থেকে একটি চেইনও পেতে পারি না। অন্যান্যরা পিকেসিএস 12 ফর্ম্যাটটির পরামর্শ দেয় তবে আমার পরীক্ষা যতদূর যায় পুরো চেইনটি পাওয়ার ক্ষেত্রেও এটি ব্যর্থ হয়েছিল failed

কোন পরামর্শ বা ইঙ্গিত অনেক স্বাগত।

উত্তর:


26

এটি নিখুঁত নাও হতে পারে তবে আমি keytoolআপনার দৃশ্যের জন্য পরিবর্তন করেছি। এটির ব্যবহার সম্পর্কে আমার কিছু নোট ছিল ।

  1. বিদ্যমান জাভা কীস্টোরগুলিতে একটি রুট বা মধ্যবর্তী সিএ শংসাপত্র আমদানি করুন:

    keytool -import -trustcacerts -alias root -file ca_geotrust_global.pem -keystore yourkeystore.jks
    keytool -import -trustcacerts -alias root -file intermediate_rapidssl.pem -keystore yourkeystore.jks 
    
  2. আমদানির আগে একটি ফাইলে শংসাপত্র এবং ব্যক্তিগত কী একত্রিত করুন।

    cat certificate.pem privatekey.pem > combined.pem
    

    এটির ফলে নীচের ফর্ম্যাটটির অনুরূপ একটি ফাইল তৈরি করা উচিত।

    শুরু করুন শংসাপত্র
    ...
    সমাপ্তি
    শুরু করুন আরএসএ প্রাইভেট কী
    ...
    শেষ করুন আরএসএ প্রাইভেট কী

  3. বিদ্যমান জাভা কীস্টোরে একটি স্বাক্ষরিত প্রাথমিক শংসাপত্র এবং কী আমদানি করুন:

    keytool -import -trustcacerts -alias yourdomain -file combined.pem -keystore yourkeystore.jks
    

2
কীটোলের কোন সংস্করণ আপনাকে এই জাতীয় শৃঙ্খলিত করতে দেয়? এই বাক্য গঠনটি "কীটোল ত্রুটি দেয়: জাভা.লং। ধারণা: শংসাপত্র আমদানি করা হয়নি, ওরফে <root> ইতিমধ্যে বিদ্যমান" উভয়ই-ইম্পোর্ট এবং -প্রম্পারসেটের সাথে
ctpenrose

বলা ঠিক, শক্ত। তবে বছর / মাস দিলে সম্ভবত জাভা be হবে? (ছোট্ট প্রকাশের কোনও ধারণা নেই)) আপনি কোন সংস্করণ ব্যবহার করছেন? ত্রুটিটি পড়লে সমস্যাটি কী-স্টোরের সাথেই থাকতে পারে। ( alias <root> already exists) আপনি কি নতুন, খালি কীস্টোর দিয়ে চেষ্টা করতে পারেন?
অ্যারন

1
কীটল আমাকে ইতিমধ্যে বিদ্যমান উরফ 'রুট' ব্যবহার করে শংসাপত্র আমদানি করতে দেবে না। তবে আমার মনে হয় এটি টাইপো ছিল। কীটোলটি কীস্টোরে স্বাক্ষরকারীদের শংসাপত্রগুলি (যে কোনও উপনামের অধীনে) সন্ধান করে তখন কীটোল আপনার শংসাপত্রের জন্য নিজেই একটি শৃঙ্খলা তৈরি করে। জাভা কীস্টোর পরিচালনা করার জন্য জাভা সরঞ্জাম "পোর্টটেল" কার্যকর
হাটম্যান

কীটল এটির মতো কাজ করে না এবং বর্ণিত হিসাবে আপনাকে একবারের মতো কোনও উপनाव আমদানি করার অনুমতি দেয় না। (এবং হ্যাঁ, আমি চেষ্টা করেছি)। সঠিকভাবে কাজ করে এমন কোনও কিছুর জন্য নীচে সেনজাকেরিবের উত্তর দেখুন।
স্টিভ শেথার

1
এটি একটি তিন বছরের পুরানো উত্তর। এটি সম্পূর্ণরূপে সম্ভব যে জিনিসগুলি পরিবর্তিত হয়েছে, তবে আমি আপনাকে আশ্বাস দিচ্ছি যে ফেব্রুয়ারী ২০১৩ থেকে এটি কাজ করেছে (বা আমি কাজ করার কাছাকাছি এসেছি বলেছি এটি নিখুঁত নাও হতে পারে)
অ্যারন

42

All.pem এর মতো সমস্ত * .pem ফাইলকে একটি পেম ফাইলের সাথে সংযুক্ত করুন তারপরে প্রাইভেট কী + all.pem দিয়ে পি 12 ফর্ম্যাটে কীস্টোর তৈরি করুন

openssl pkcs12 -export -inkey private.key -in all.pem -name test -out test.p12

তারপরে j12 এ p12 রফতানি করুন

keytool -importkeystore -srckeystore test.p12 -srcstoretype pkcs12 -destkeystore test.jks

ধন্যবাদ. এটিই একমাত্র সম্পূর্ণ এবং সঠিক উত্তর। আপনি যেমন পরামর্শ দিয়েছেন, কেবলমাত্র একটি ফাইলের সাথে শংসাপত্রগুলি একত্রিত করা আরও সহজ।
স্টিভ শেথার

এটি আমার জন্য ট্রিটের মতো কাজ করেছিল !! আমি জাভা ভিত্তিক টিএলএস সার্ভারের সাথে কথা বলার জন্য নোডেজ-স্ব-স্বাক্ষরিত-শংসাপত্র-উদাহরণ সংগ্রহস্থলগুলিতে ব্যবহৃত কীগুলির একটি শৃঙ্খলে রূপান্তর করতে এই নির্দেশাবলী ব্যবহার করেছি। অসংখ্য ধন্যবাদ!
গাল্ডার জামারিয়েও

এটা সঠিক উত্তর.
sfThomas

8

কীটল উপরে প্রস্তাবিত হিসাবে একক (সম্মিলিত) ফাইল থেকে শংসাপত্র + প্রাইভেট কী আমদানির কোনও উপায় সরবরাহ করে না। এটি সূক্ষ্মভাবে চলে, তবে কেবল শংসাপত্র আমদানি করা হয়, যখন ব্যক্তিগত কী উপেক্ষা করা হয়। আপনি এটি দ্বারা এটি পরীক্ষা করতে পারেন keytool -list -v -keystore yourkeystore.jks- yourdomain এন্ট্রি প্রকারটি প্রাইভেটকি-এন্ট্রি নয়, বিশ্বস্তকার্টেনট্রি।

সুতরাং প্রাথমিক সমস্যা সমাধানের জন্য প্রথমে ওপেনসেল (বা অনুরূপ সরঞ্জাম) ব্যবহার করে একটি পিকেসিএস # 12 কীস্টোর তৈরি করা উচিত, তারপরে কীস্টোরটি আমদানি করুন keytool -importkeystore

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.