গুগল ওয়ার্কস্পেস গুগল ওয়ার্কস্পেস বা গুগল ওয়ার্কস্পেস ফর এডুকেশনের গ্রাহকদের জন্য সিঙ্গেল সাইন-অন (SSO) পরিষেবা প্রদান করে। গুগল ওয়ার্কস্পেস সিঙ্গেল সাইন-অন পরিষেবা RSA বা DSA অ্যালগরিদম ব্যবহার করে তৈরি করা পাবলিক কী এবং সার্টিফিকেট গ্রহণ করে। পরিষেবাটি ব্যবহার করার জন্য, আপনাকে পাবলিক এবং প্রাইভেট কীগুলির সেট এবং একটি X.509 সার্টিফিকেট তৈরি করতে হবে যাতে পাবলিক কী থাকে। একবার আপনার একটি পাবলিক কী বা সার্টিফিকেট হয়ে গেলে, আপনাকে এটি Google-এ নিবন্ধন করতে হবে। আপনি কেবল আপনার গুগল অ্যাডমিন কনসোলের মাধ্যমে কী বা সার্টিফিকেট আপলোড করে এটি করতে পারেন।
আপনি কীভাবে কী এবং সার্টিফিকেট তৈরি করবেন তা প্রায়শই আপনার ডেভেলপমেন্ট প্ল্যাটফর্ম এবং প্রোগ্রামিং ভাষার পছন্দের উপর নির্ভর করে। Google Workspace SSO পরিষেবার জন্য প্রয়োজনীয় কী এবং সার্টিফিকেট তৈরি করার বিভিন্ন উপায় এখানে দেওয়া হল।
OpenSSL ব্যবহার করা
যদিও পাবলিক এবং প্রাইভেট কী জোড়া তৈরির জন্য অনেক পদ্ধতি রয়েছে, ওপেন-সোর্স OpenSSL টুলটি সবচেয়ে জনপ্রিয় একটি। এটি সমস্ত প্রধান প্ল্যাটফর্মে পোর্ট করা হয়েছে এবং কী তৈরির জন্য একটি সহজ কমান্ড-লাইন ইন্টারফেস প্রদান করে।
RSA প্রাইভেট কী তৈরি করুন
OpenSSL এর মাধ্যমে RSA প্রাইভেট কী তৈরি করতে মাত্র একটি ধাপ প্রয়োজন:
openssl genrsa -out rsaprivkey.pem 2048
এই কমান্ডটি একটি PEM-এনকোডেড প্রাইভেট কী তৈরি করে এবং এটি rsaprivkey.pem ফাইলে সংরক্ষণ করে। এই উদাহরণে একটি 2048-বিট কী তৈরি করা হয়, যা প্রায় যেকোনো উদ্দেশ্যে কাজ করবে। ফলে প্রাপ্ত প্রাইভেট কী গোপন রাখা উচিত এবং ডেটা সাইন এবং ডিক্রিপ্ট করার জন্য ব্যবহার করা হয়।
কিছু বাস্তবায়ন, বিশেষ করে জাভা-ভিত্তিক, DER অথবা PKCS8 এর প্রয়োজন হতে পারে যা উদাহরণস্বরূপ নিম্নলিখিত অতিরিক্ত পদক্ষেপগুলি ব্যবহার করে তৈরি করা যেতে পারে:
-
openssl rsa -in rsaprivkey.pem -pubout -outform DER -out rsapubkey.der -
openssl pkcs8 -topk8 -inform PEM -outform DER -in rsaprivkey.pem -out rsaprivkey.der -nocrypt
ধাপ ১ DER ফর্ম্যাটে পাবলিক কী তৈরি করে।
ধাপ ২ pkcs8 এবং DER ফর্ম্যাটে প্রাইভেট কী তৈরি করে। একবার তৈরি হয়ে গেলে, আপনি এই কীগুলি ( rsapubkey.der এবং rsaprivkey.der ) ব্যবহার করতে পারেন।
একটি DSA প্রাইভেট কী তৈরি করুন
DSA কী জেনারেশনের দুটি ধাপ রয়েছে:
-
openssl dsaparam -out dsaparam.pem 2048 -
openssl gendsa -out dsaprivkey.pem dsaparam.pem
প্রথম ধাপে একটি DSA প্যারামিটার ফাইল তৈরি করা হয়, dsaparam.pem , যা এই ক্ষেত্রে OpenSSL কে ধাপ ২-এ একটি ২০৪৮-বিট কী তৈরি করার নির্দেশ দেয়। dsaparam.pem ফাইলটি নিজেই একটি কী নয়, এবং পাবলিক এবং প্রাইভেট কী তৈরি হওয়ার পরে এটি বাতিল করা যেতে পারে। দ্বিতীয় ধাপটি আসলে dsaprivkey.pem ফাইলে প্রাইভেট কী তৈরি করে যা গোপন রাখা উচিত।
কীটি DER (বাইনারি) ফর্ম্যাটে রপ্তানি করতে আপনি নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করতে পারেন:
-
openssl dsa -in dsaprivkey.pem -outform DER -pubout -out dsapubkey.der -
openssl pkcs8 -topk8 -inform PEM -outform DER -in dsaprivkey.pem -out dsaprivkey.der -nocrypt
ধাপ ১ পাবলিক কীটিকে DER ফর্ম্যাটে বের করে।
ধাপ ২ প্রাইভেট কী কে pkcs8 এবং DER ফর্ম্যাটে রূপান্তর করে। এটি করার পরে, আপনি এই পাবলিক ( dsapubkey.der ) এবং প্রাইভেট ( dsaprivkey.der ) কী জোড়া ব্যবহার করতে পারেন।
একটি সার্টিফিকেট তৈরি করুন
একবার আপনার কী পেয়ার হয়ে গেলে, একটি X.509 সার্টিফিকেট তৈরি করা সহজ। সার্টিফিকেটটিতে সংশ্লিষ্ট পাবলিক কী, সেই সাথে সার্টিফিকেট তৈরিকারী সংস্থার সাথে সম্পর্কিত কিছু মেটাডেটা থাকে। RSA অথবা DSA প্রাইভেট কী থেকে একটি স্ব-স্বাক্ষরিত সার্টিফিকেট তৈরি করতে এই ধাপটি অনুসরণ করুন:
openssl req -new -x509 -key dsaprivkey.pem -out dsacert.pem
বেশ কয়েকটি প্রশ্নের উত্তর দেওয়ার পর, সার্টিফিকেটটি তৈরি হবে এবং dsacert.pem হিসেবে সংরক্ষণ করা হবে। SSO কনফিগার করার সময় আপনি কন্ট্রোল প্যানেলের মাধ্যমে Google Workspace-এ এই ফাইলটি আপলোড করেন।
একটি সার্টিফিকেট ফিঙ্গারপ্রিন্ট তৈরি করুন
কিছু অ্যাপ্লিকেশনের জন্য X.509 সার্টিফিকেটের পরিবর্তে X.509 সার্টিফিকেট ফিঙ্গারপ্রিন্ট প্রয়োজন। ফিঙ্গারপ্রিন্ট হল x509 বাইনারি ফর্ম্যাটে সার্টিফিকেটের একটি ডাইজেস্ট। ফিঙ্গারপ্রিন্টের ধরণ ফিঙ্গারপ্রিন্ট তৈরি করতে ব্যবহৃত অ্যালগরিদমের উপর নির্ভর করে, যেমন SHA-1 বা SHA-256।
X.509 সার্টিফিকেট থেকে একটি SHA-256 ফিঙ্গারপ্রিন্ট তৈরি করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন (আপনার প্রকৃত সার্টিফিকেট .pem ফাইলের নাম প্রতিস্থাপন করুন):
openssl x509 -noout -fingerprint -sha256 -inform pem -in "GoogleIDPCertificate-domain.com.pem"
.NET এর জন্য মাইক্রোসফট ভিজ্যুয়াল স্টুডিও ব্যবহার করা
মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও ২০০৫ ইউটিলিটি প্রদান করে ( Common7ToolsBin ডিরেক্টরিতে) যা Google Workspace-এর সাথে ব্যবহারের জন্য একটি সার্টিফিকেট তৈরি করতে ব্যবহার করা যেতে পারে। .NET-তে পাবলিক এবং প্রাইভেট কী পেয়ার এবং সার্টিফিকেট তৈরি করতে নীচের পদক্ষেপগুলি অনুসরণ করুন:
-
makecert -r -pe -n "CN=Test Certificate" -sky exchange -sv testcert.pvk testcert.cer -
pvk2pfx -pvk testcert.pvk -spc testcert.cer -pfx testcert.pfx
ডিফল্টরূপে উপরের কমান্ডগুলিতে RSA অ্যালগরিদম ব্যবহার করা হয়। ধাপ ১ সার্টিফিকেট তৈরির টুল ( makecert.exe ) ব্যবহার করে testcert.cer নামক একটি স্ব-স্বাক্ষরিত X.509 সার্টিফিকেট এবং সংশ্লিষ্ট প্রাইভেট কী তৈরি করে।
ধাপ ২ pvk2pfx টুল ( pvk2pfx.exe ) ব্যবহার করে একটি CER এবং PVK ফাইল থেকে একটি ব্যক্তিগত তথ্য বিনিময় (PFX) ফাইল তৈরি করে। PFX-এ আপনার পাবলিক এবং প্রাইভেট উভয় কীই থাকে।
ধাপ ১-এ তৈরি testcert.cer ফাইলটি কন্ট্রোল প্যানেল ব্যবহার করে Google Workspace-এ আপলোড করা যেতে পারে; এবং ধাপ ২-এর testcert.pfx ফাইলটি SAML প্রতিক্রিয়া স্বাক্ষর করার জন্য একটি X509Certificate2 (.NET 2.0+) ইনস্ট্যান্স তৈরি করতে ব্যবহার করা যেতে পারে।
জাভাতে কীটুল ব্যবহার করা
জাভা ডেভেলপাররা স্ট্যান্ডার্ড JDK-তে পাওয়া keytool ইউটিলিটি ব্যবহার করে পাবলিক/প্রাইভেট কী পেয়ার এবং X.509 সার্টিফিকেট তৈরি করতে পারেন। keytool হল একটি কী এবং সার্টিফিকেট ম্যানেজমেন্ট ইউটিলিটি যা ব্যবহারকারীদের ডিজিটাল স্বাক্ষরের প্রয়োজন এমন প্রমাণীকরণ স্কিমগুলিতে ব্যবহারের জন্য তাদের নিজস্ব পাবলিক/প্রাইভেট কী পেয়ার এবং সংশ্লিষ্ট সার্টিফিকেট পরিচালনা করতে দেয়। keytool একটি "keystore"-এ কী এবং সার্টিফিকেট সংরক্ষণ করে যা ডিফল্ট বাস্তবায়নের জন্য ব্যবহারকারীর হোম ডিরেক্টরিতে কেবল একটি ফাইল ( .keystore )। প্রাইভেট কীগুলি পাসওয়ার্ড দিয়ে সুরক্ষিত থাকে।
DSA কী জোড়া তৈরি করুন
-
keytool -genkey -alias dsassokey -keyalg "DSA" -keysize 2048 -validity 180 -sigalg "SHA256withDSA" -
keytool -export -alias dsassokey -file dsasso.cer
ধাপ ১ DSA অ্যালগরিদম ব্যবহার করে ২০৪৮ আকারের এবং ১৮০ দিনের মেয়াদ সহ একটি পাবলিক/প্রাইভেট কী জোড়া তৈরি করে।
ধাপ ২ পাবলিক কী থেকে একটি X.509 সার্টিফিকেট ( dsasso.cer ) তৈরি করে। এরপর আপনি কন্ট্রোল প্যানেল ব্যবহার করে Google Workspace-এ dsasso.cer আপলোড করবেন।
RSA কী জোড়া তৈরি করুন
-
keytool -genkey -alias rsassokey -keyalg "RSA" -keysize 2048 -validity 180 -
keytool -export -alias rsassokey -file rsasso.cer
ধাপ ১ RSA অ্যালগরিদম ব্যবহার করে ২০৪৮ আকারের এবং ১৮০ দিনের মেয়াদ সহ একটি পাবলিক/প্রাইভেট কী জোড়া তৈরি করে।
ধাপ ২ পাবলিক কী থেকে একটি X.509 সার্টিফিকেট ( rsasso.cer ) তৈরি করে। এরপর আপনি কন্ট্রোল প্যানেল ব্যবহার করে গুগল ওয়ার্কস্পেসে rsasso.cer আপলোড করবেন ।
জাভা ক্রিপ্টোগ্রাফি আর্কিটেকচার ব্যবহার করা
জাভা ক্রিপ্টোগ্রাফি আর্কিটেকচার (JCA) নিরাপত্তা বৈশিষ্ট্য তৈরি এবং পরিচালনা করার জন্য মূল ক্লাস এবং ইন্টারফেস প্রদান করে। JCA ক্রিপ্টোগ্রাফির সাথে সম্পর্কিত জাভা 2 SDK সিকিউরিটি API-এর অংশগুলিকে অন্তর্ভুক্ত করে। এই API ব্যবহার করে, আপনি সহজেই পছন্দসই অ্যালগরিদমে পাবলিক এবং প্রাইভেট কী জোড়া তৈরি করতে পারেন। নীচে একটি নমুনা কোড দেওয়া হল যা Google Workspace SSO পরিষেবার সাথে ব্যবহারের জন্য DSA বা RSA কী তৈরি করে।
একটি পাবলিক এবং প্রাইভেট কী জোড়া তৈরি করুন
import java.io.*;
import java.security.*;
public class KeyGenDSA {
public static void main(String[] args) {
try {
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DSA");
SecureRandom random = SecureRandom.getInstanceStrong();
keyGen.initialize(2048, random);
KeyPair pair = keyGen.generateKeyPair();
PrivateKey priv = pair.getPrivate();
PublicKey pub = pair.getPublic();
byte[] encPriv = priv.getEncoded();
FileOutputStream privfos = new FileOutputStream("DSAPrivateKey.key");
privfos.write(encPriv);
privfos.close();
byte[] encPub = pub.getEncoded();
FileOutputStream pubfos = new FileOutputStream("DSAPublicKey.key");
pubfos.write(encPub);
pubfos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
উপরের কোডটি KeyPairGenerator ব্যবহার করে একজোড়া DSA কী তৈরি করে। জেনারেট করা কীগুলি বাইনারি ফর্ম্যাটে থাকবে এবং পৃথক ফাইলে আউটপুট করা হবে। একবার আপনার কাছে কীগুলি হয়ে গেলে, আপনি Google Workspace-এ পাবলিক কী নিবন্ধন করতে পারেন এবং আপনার SAMLResponse সাইন করতে প্রাইভেট কী ব্যবহার করতে পারেন। DSA-এর পরিবর্তে একজোড়া RSA কী তৈরি করতে, আপনাকে যা করতে হবে তা হল কোডে "DSA" "RSA" " লিখতে হবে।
Google Workspace-এ আপনার সার্টিফিকেট বা পাবলিক কী রেজিস্টার করুন
একবার আপনি কী এবং সার্টিফিকেট তৈরির জটিল অংশটি সম্পন্ন করলে, পরবর্তী অংশটি সত্যিই সহজ। Google Workspace-এ আপনার সার্টিফিকেট বা পাবলিক কী নিবন্ধন করতে, আপনাকে অ্যাডমিন কনসোলে যেতে হবে এবং প্রশাসক হিসেবে লগ ইন করতে হবে। Security নির্বাচন করুন, তারপর Set up single sign-on (SSO) নির্বাচন করুন , এবং Setup SSO with third party identity provider এর অধীনে পৃষ্ঠার সমস্ত ক্ষেত্র পূরণ করুন।