উবুন্টু 12.04 একটি ওপেনএসএসএল 1.0.1 এর সাথে আসে, যা পুরানো ওপেনএসএসএল 0.9.8 সংস্করণের চেয়ে কিছুটা আলাদা ডিফল্ট রয়েছে।
অন্যান্য জিনিসের মধ্যে, আপনি যদি openssl req -newkey rsa:2048
আরএসএ কী তৈরি করতে ব্যবহার করেন তবে আপনার পিকেসিএস # 8 নামক ফর্ম্যাটে একটি কী দিয়ে শেষ হবে । পিইএম ফর্ম্যাটে প্রতিনিধিত্ব করা হয়েছে, এই কীগুলির আরও জেনেরিক -----BEGIN PRIVATE KEY-----
শিরোনাম রয়েছে, যা আপনাকে কোন ধরণের (আরএসএ, ডিএসএ, ইসি) কী তা আপনাকে জানায় না।
পূর্বে, ওপেনএসএসএল 0.9.8 এর সাথে কীগুলি সর্বদা পিকেসিএস # 1 নামক ফর্ম্যাটে থাকত , যা পিইএম হিসাবে উপস্থাপন করা হয় , শিরোনামটি ছিল -----BEGIN RSA PRIVATE KEY-----
।
এ কারণে আপনি কেবল এ থেকে শিরোনাম এবং পাদচরণ পরিবর্তন করতে পারবেন না:
-----BEGIN PRIVATE KEY-----
থেকে
-----BEGIN RSA PRIVATE KEY-----`
এটি একই জিনিস নয় এবং এটি কাজ করবে না। পরিবর্তে আপনাকে কীটি পুরানো ফর্ম্যাটে ব্যবহার করে রূপান্তর করতে হবে openssl rsa
। এটার মত:
openssl rsa -in key_in_pkcs1_or_pkcs8.pem -out key_in_pkcs1.pem
উবুন্টু 12.04-এ মাইএসকিউএল (v5.5.35) yaSSL (v2.2.2) নামক একটি এসএসএল বাস্তবায়ন ব্যবহার করছে। এটি কীগুলি পিকেসিএস # 1 ফর্ম্যাটে থাকবে এবং ওপেনএসএসএল 1.0 এবং আরও নতুন ব্যবহৃত পিকেসিএস # 8 ফর্ম্যাটটিকে সমর্থন করে না। যদি আপনি কেবল এই থ্রেডের অন্যান্য পোস্টের পরামর্শ অনুসারে শিরোনাম এবং পাদচরণগুলি পরিবর্তন করেন তবে মাইএসকিউএল / ইয়াসএসএল অভিযোগ করবেন না, তবে আপনি সংযোগ করতে পারবেন না এবং এর পরিবর্তে এই জাতীয় একটি ত্রুটি শেষ করতে পারেন:
ERROR 2026 (HY000): SSL connection error: protocol version mismatch
উবুন্টু 14.04 ওপেনএসএসএল 1.0.1f এবং নতুন সেটিংস সহ আসে। অন্যান্য জিনিসের মধ্যে এটি SHA1 এর পরিবর্তে SHA256 হজমে শংসাপত্র তৈরি করবে যা পূর্ববর্তী সংস্করণগুলিতে ব্যবহৃত হয়েছিল। অজানাভাবে, মাইএসকিউএল এর সাথে বান্ডিল করা ইয়াসএসএল সংস্করণ এটিকে সমর্থন করে না।
আপনি যদি মাইএসকিউএল দিয়ে ব্যবহারের জন্য শংসাপত্র তৈরি করে থাকেন তবে মনে রাখবেন যে আরএসএ কীগুলি theতিহ্যবাহী পিকেসিএস # 1 পিইএম ফর্ম্যাটে রূপান্তরিত হয়েছে এবং শংসাপত্রগুলি SHA1 হজম ব্যবহার করছে।
আপনার নিজের সিএ, সার্ভার শংসাপত্র এবং ক্লায়েন্ট শংসাপত্র কীভাবে উত্পন্ন করা যায় তার একটি উদাহরণ এখানে।
# Generate a CA key and certificate with SHA1 digest
openssl genrsa 2048 > ca-key.pem
openssl req -sha1 -new -x509 -nodes -days 3650 -key ca-key.pem > ca-cert.pem
# Create server key and certficate with SHA1 digest, sign it and convert
# the RSA key from PKCS #8 (OpenSSL 1.0 and newer) to the old PKCS #1 format
openssl req -sha1 -newkey rsa:2048 -days 730 -nodes -keyout server-key.pem > server-req.pem
openssl x509 -sha1 -req -in server-req.pem -days 730 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 > server-cert.pem
openssl rsa -in server-key.pem -out server-key.pem
# Create client key and certificate with SHA digest, sign it and convert
# the RSA key from PKCS #8 (OpenSSL 1.0 and newer) to the old PKCS #1 format
openssl req -sha1 -newkey rsa:2048 -days 730 -nodes -keyout client-key.pem > client-req.pem
openssl x509 -sha1 -req -in client-req.pem -days 730 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 > client-cert.pem
openssl rsa -in client-key.pem -out client-key.pem