પ્રમાણપત્રની ભૂલ સાથે આયાત નિષ્ફળ જાય છે, તેથી સ્પષ્ટ પગલું રૂપાંતર જેવું લાગે છે. એ વૃત્તિ લોકોને એવા માર્ગે લઈ જાય છે જ્યાં ફાઇલનું એક્સ્ટેન્શન બદલાય છે અને અસ્વીકાર બરાબર એ જ રહે છે. authorized_keys માંની ssh-ed25519 લાઇન અને OpenVPN ક્લાયન્ટ પ્રમાણપત્ર અલગ અલગ ઓળખપત્ર-વસ્તુઓ છે, જેમના ઇશ્યુ કરનારા અલગ, એન્કોડિંગ અલગ અને રદ કરવાના માર્ગ અલગ છે. આ તપાસો ક્રમમાં કરો તો એક મિનિટમાં ખબર પડે કે રૂપાંતર બિલકુલ મદદ કરી શકે છે કે નહીં.

તમારી પાસે ખરેખર કઈ વસ્તુ છે?

લોકો પાંચ વસ્તુઓને કી કહે છે, અને તેમાંથી ફક્ત એક જ એ છે જે TLS પ્રોફાઇલ માંગે છે. SSH જાહેર કી એ ટાઇપ પ્રીફિક્સ અને base64 પેલોડ સાથેની એક જ લાઇન લખાણ છે. OpenSSH પ્રમાણપત્ર એ એ કી વત્તા સહી, principals અને વિકલ્પો છે, જે ssh-keygen પોતાના નાના CA તરીકે કામ કરીને બનાવે છે. X.509 પ્રમાણપત્ર સાવ જુદું માળખું છે, જે વિષય, માન્યતાની વિન્ડો, વિસ્તરણો અને પ્રમાણપત્ર સત્તાધિકારીની સહી ધરાવે છે. ખાનગી કી એ ગુપ્ત અડધો ભાગ છે, અને બહાર પાડેલું બંડલ સામાન્ય રીતે એક જ ફાઇલમાં પ્રમાણપત્ર વત્તા તેની શૃંખલા વત્તા ખાનગી કી હોય છે.

પહેલી કસોટીમાં એક આદેશ જ લાગે છે. openssl ને ફાઇલ તરફ દોરો અને તેને પ્રમાણપત્રનું માળખું પાર્સ કરવા કહો:

openssl x509 -in client.crt -noout -subject -issuer

જો તે unable-to-load અથવા PEM ભૂલ સાથે નિષ્ફળ જાય, તો ફાઇલને તમે ગમે તે નામ આપ્યું હોય, તે X.509 પ્રમાણપત્ર નથી. નામ બદલવાથી અંદરનું ASN.1 ફરી લખાતું નથી, અને જાહેર કીની લાઇનને PEM હેડર લખાણમાં લપેટવાથી પણ એમ થતું નથી.

શું પ્રોફાઇલ બિલકુલ પ્રમાણપત્ર માંગે છે?

ક્લાયન્ટ પ્રમાણપત્રો ઘણી પદ્ધતિઓમાંની એક પ્રમાણીકરણ પદ્ધતિ છે, અને ઘણા કાર્યક્ષમ TLS પ્રોફાઇલ ક્યારેય એક પણ માંગતા નથી. સર્વર પ્લગઇન, વપરાશકર્તાનામ અને પાસવર્ડ, અથવા ટોકન બેકએન્ડ દ્વારા વપરાશકર્તાઓનું પ્રમાણીકરણ કરી શકે છે, સાથે જ ક્લાયન્ટને સર્વરની ઓળખ ચકાસવાની માંગણી પણ રાખે છે. જો પ્રોફાઇલમાં ક્લાયન્ટ-પ્રમાણપત્ર સૂચના ન હોય, તો ક્યારેય કોઈ પ્રમાણપત્ર માંગવામાં નહીં આવે, અને કોઈ રૂપાંતર ગેટવેને એક માંગવા માટે મજબૂર નહીં કરે.

જૂની સ્થિર-કી ગોઠવણીઓ ત્રીજો કિસ્સો છે. તે TLS હેન્ડશેક પહેલાંની છે અને અગાઉથી વહેંચાયેલી ગુપ્ત ફાઇલની અપેક્ષા રાખે છે, તેથી એ ફીલ્ડમાં જાહેર કી પેસ્ટ કરવાથી પણ કામ નહીં થાય. ઓળખપત્ર ખોટું છે એમ નક્કી કરતા પહેલાં પ્રોફાઇલ ખરેખર શું માંગે છે તે વાંચો.

ફરી એન્કોડિંગ શું કરી શકે અને શું નહીં

ખાનગી કીઓમાં ખરેખર કાયદેસર વૈકલ્પિક કન્ટેનર હોય છે. એ જ RSA અથવા EC કી પરંપરાગત PEM તરીકે, PKCS#8 તરીકે, અથવા PKCS#12 બંડલની અંદર લખી શકાય છે, અને સાધનો આનંદથી તેમની વચ્ચે રૂપાંતર કરે છે. જાહેર કીઓની પણ એવી જ વાત છે: ssh-keygen SSH કીનું RFC 4716 સ્વરૂપ બહાર પાડી શકે છે, અને OpenSSH પોતાનું પ્રમાણપત્ર ફોર્મેટ પણ સમજે છે. એ બધું રજૂઆત છે, અને રજૂઆત વિશ્વાસ નથી.

રૂપાંતર જે કરી શકતું નથી તે છે એવા પ્રમાણપત્ર સત્તાધિકારીની સહી બનાવવી જેણે કદી તમારી કી જોઈ નથી. પ્રમાણપત્ર એ ઇશ્યુ કરનારનું નિવેદન છે કે ચોક્કસ જાહેર કી ચોક્કસ હેતુ માટે ચોક્કસ વિષયની છે. ફરી એન્કોડિંગ કીના બાઇટ સાચવે છે અને નિવેદન ગેરહાજર રાખે છે, તેથી ગેટવે પાસે પોતાના વિશ્વાસ-સંગ્રહ સામે ચકાસવા માટે કંઈ રહેતું નથી.

આ એ પગલું છે જ્યાં મોટાભાગના પ્રયત્નો શાંતિથી નિષ્ફળ જાય છે: ફાઇલ હવે .crt પર પૂરી થાય છે, ક્લાયન્ટ તેને ફરિયાદ વિના વાંચે છે, અને હેન્ડશેક તોપણ અટકી જાય છે કારણ કે સામેનો પક્ષ વિશ્વસનીય ઇશ્યુ કરનાર સુધીની શૃંખલા બનાવી શકતો નથી.

પ્રમાણપત્ર સત્તાધિકારી ક્યાં ચિત્રમાં આવે છે

ખરું નોંધણી તમારા નિયંત્રણની કી-જોડી અને ઓપરેટર જે વિષયની અપેક્ષા રાખે છે તે ધરાવતી પ્રમાણપત્ર સહી વિનંતીથી શરૂ થાય છે. ઓપરેટર હક ચકાસે છે, CA કી વડે વિનંતી પર સહી કરે છે, અને બહાર પાડેલું પ્રમાણપત્ર ક્લાયન્ટે રજૂ કરવાની હોય તેવી કોઈપણ મધ્યવર્તી શૃંખલા સાથે પરત આપે છે. પછી ક્લાયન્ટને એ CA પ્રમાણપત્રની જરૂર પડે છે જેણે તેના પર સહી કરી હતી, કારણ કે એ જ તેને પુષ્ટિ કરવા દે છે કે જે સર્વર સાથે તે વાત કરે છે તે એ જ તૈનાતીનો છે.

એ છેલ્લી ફાઇલ ભૂલવી સહેલી અને બદલવી અશક્ય છે. CAની સહી કરતી કી પોતે કદી ક્લાયન્ટ ગોઠવણીમાં ન હોય, અને સ્થાનિક રૂપાંતરની કોઈપણ માત્રા એ શૃંખલા બનાવતી નથી જે તમને મળવાની હતી.

SSH કી ફરી વાપરવાની તમને શું કિંમત ચૂકવવી પડે

ધારો કે રૂપાંતરે ખરેખર સ્વીકાર્ય કંઈક બનાવ્યું. SSH પ્રવેશ અને VPN પ્રમાણીકરણ માટે એક જ કી-જોડી ફરી વાપરવાથી હજી પણ બે સ્વતંત્ર સુરક્ષા નિર્ણયો જોડાયેલા રહે છે. authorized_keys માંથી એક લાઇન દૂર કરવાથી SSH લોગિન બંધ થાય છે, અને એ જ જાહેર કી માટે VPN CA પહેલેથી બહાર પાડેલા પ્રમાણપત્રને કંઈ થતું નથી. VPN બાજુ પોતાની પદ્ધતિથી રદ થાય છે, એટલે કે પ્રમાણપત્ર રદ કરવાની સૂચિ અથવા ઓપરેટરનો નોંધણી રેકોર્ડ.

તેથી ચેકલિસ્ટ કોઈ યુક્તિથી નહીં, પણ અટકવાની શરતથી પૂરી થાય છે. જો openssl ફાઇલને પ્રમાણપત્ર તરીકે પાર્સ ન કરે, તો રૂપાંતર બંધ કરો અને કહો કે તમારી પાસે શું છે: SSH કી, SSH પ્રમાણપત્ર, X.509 પ્રમાણપત્ર, ખાનગી કી અથવા બંડલ. જો પ્રોફાઇલ ક્લાયન્ટ પ્રમાણપત્ર ન માંગે, તો અટકો અને પૂછો કે સર્વર કઈ પ્રમાણીકરણ પદ્ધતિની અપેક્ષા રાખે છે. ફક્ત ત્યારે જ જ્યારે બંને જવાબ X.509 તરફ ઇશારો કરે ત્યારે નોંધણી આગળનું પગલું બને છે, અને પહેલા વાક્યમાં યોગ્ય સંજ્ઞા હોય તો એ વાતચીત ઘણી ઝડપી થાય છે.

સંબંધિત લેખો