እንደምን አረፈድክ በዚህ ርዕስ እንቀጥል
ዛሬ ወደ ተግባራዊ ክፍል እንሸጋገራለን. ሙሉ ክፍት ምንጭ ክሪፕቶግራፊክ ቤተመፃህፍት openSSL ላይ በመመስረት የእኛን CA በማዋቀር እንጀምር። ይህ አልጎሪዝም የተሞከረው windows 7ን በመጠቀም ነው።
OpenSSL ከተጫነ በትእዛዝ መስመሩ በኩል የተለያዩ የምስጠራ ስራዎችን (እንደ ቁልፎችን እና የምስክር ወረቀቶችን መፍጠር) ማከናወን እንችላለን።
የድርጊቶች ስልተ-ቀመር እንደሚከተለው ነው-
- የመጫኛ ስርጭቱን ያውርዱ openssl-1.1.1g.
OpenSSL የተለያዩ ስሪቶች አሉት። የሩቶከን ሰነድ ክፍት ኤስኤስኤል ስሪት 1.1.0 ወይም ከዚያ በላይ እንደሚያስፈልግ ተናግሯል። እኔ openssl-1.1.1g ስሪት ተጠቀምሁ. OpenSSL ን ከኦፊሴላዊው ጣቢያ ማውረድ ይችላሉ ፣ ግን ለቀላል ጭነት ፣ በአውታረ መረቡ ላይ ለዊንዶውስ የመጫኛ ፋይል ማግኘት ያስፈልግዎታል። ለአንተ ይህን አደረግሁ፡-slproweb.com/products/Win32OpenSSL.html
ገጹን ወደታች ይሸብልሉ እና Win64 OpenSSL v1.1.1g EXE 63MB ጫኚን ያውርዱ። - በኮምፒተር ላይ openssl-1.1.1g ን ጫን።
መጫኑ በመደበኛ ዱካ መሠረት መከናወን አለበት ፣ ይህም በራስ-ሰር በ C: Program Files አቃፊ ውስጥ ይገለጻል። ፕሮግራሙ በ OpenSSL-Win64 አቃፊ ውስጥ ይጫናል. - OpenSSL በሚፈልጉበት መንገድ ለማዋቀር የ openssl.cfg ፋይል አለ። ይህ ፋይል በቀደመው አንቀጽ ላይ እንደተገለጸው openSSL ከጫኑ በC:\ Program Files\OpenSSL-Win64bin ዱካ ውስጥ ይገኛል። openssl.cfg ወደ ሚከማችበት አቃፊ ይሂዱ እና ይህን ፋይል ለምሳሌ ኖትፓድ++ በመጠቀም ይክፈቱት።
- የመክፈቻውን ፋይል ይዘቶች በመቀየር የእውቅና ማረጋገጫው ባለስልጣን እንደምንም እንደሚዋቀር ገምተህ ሊሆን ይችላል፣ እና ትክክል ነህ። ይህ የ [ca] ትዕዛዝን ማበጀት ይጠይቃል። በ openssl.cfg ፋይል ውስጥ ለውጦችን የምናደርግበት የጽሑፍ መጀመሪያ፡ [ ca] ሊገኝ ይችላል።
- አሁን ከማብራሪያው ጋር የቅንብር ምሳሌ እሰጣለሁ፡-
[ ca ] default_ca = CA_default [ CA_default ] dir = /Users/username/bin/openSSLca/demoCA certs = $dir/certs crl_dir = $dir/crl database = $dir/index.txt new_certs_dir = $dir/newcerts certificate = $dir/ca.crt serial = $dir/private/serial crlnumber = $dir/crlnumber crl = $dir/crl.pem private_key = $dir/private/ca.key x509_extensions = usr_cert
አሁን ከላይ ባለው ምሳሌ ላይ እንደሚታየው የ demoCA ማውጫ እና ንዑስ ማውጫዎችን መፍጠር አለብን። እና በዲር ውስጥ በተገለፀው መንገድ በዚህ ማውጫ ውስጥ ያስቀምጡት (እኔ /ተጠቃሚዎች/የተጠቃሚ ስም/ቢን/openSSLca/demoCA አለኝ)።
ዲርን በትክክል መፃፍ በጣም አስፈላጊ ነው - ይህ የእውቅና ማረጋገጫ ማዕከላችን ወደሚገኝበት ማውጫ የሚወስደው መንገድ ነው። ይህ ማውጫ በ/ተጠቃሚዎች (ማለትም በአንዳንድ ተጠቃሚ መለያ ውስጥ) ውስጥ መቀመጥ አለበት። ይህንን ማውጫ ለምሳሌ በ C: Program Files ውስጥ ካስቀመጡት ስርዓቱ ፋይሉን በ openssl.cfg ቅንጅቶች አያየውም (ቢያንስ ለእኔ እንደዚያ ነበር)።
$dir - በ dir ውስጥ የተገለጸው መንገድ እዚህ ተተክቷል።
ሌላው አስፈላጊ ነጥብ ባዶ index.txt ፋይል መፍጠር ነው፣ ያለዚህ ፋይል የ"openSSL ca…" ትዕዛዞች አይሰራም።
እንዲሁም የመለያ ፋይል፣ የስር የግል ቁልፍ (ca.key)፣ የስር ሰርተፍኬት (ca.crt) ሊኖርዎት ይገባል። እነዚህን ፋይሎች የማግኘት ሂደት ከዚህ በታች ይብራራል.
- በሩቶከን የቀረቡትን የኢንክሪፕሽን ስልተ ቀመሮችን እናገናኛለን።
ይህ ግንኙነት በ openssl.cfg ፋይል ውስጥ ይካሄዳል።- በመጀመሪያ ደረጃ, አስፈላጊውን የሩቶከን አልጎሪዝም ማውረድ ያስፈልግዎታል. እነዚህ ፋይሎች rtengine.dll፣ rtpkcs11ecp.dll ናቸው።
ይህንን ለማድረግ Rutoken ኤስዲኬን ያውርዱ፡www.rutoken.ru/developers/sdk .Rutoken ኤስዲኬ Rutokenን መሞከር ለሚፈልጉ ገንቢዎች ብቻ ነው። ከሩቶከን ጋር በተለያዩ የፕሮግራሚንግ ቋንቋዎች ለመስራት ሁለቱም የተለያዩ ምሳሌዎች አሉ እና አንዳንድ ቤተ-መጻሕፍት ቀርበዋል ። የእኛ ቤተ-መጽሐፍት rtengine.dll እና rtpkcs11ecp.dll በ Rutoken sdk ውስጥ በቅደም ተከተል በቦታው ይገኛሉ፡-
sdk/openssl/rtengine/bin/windows-x86_64/lib/rtengine.dll
sdk/pkcs11/lib/windows-x86_64/rtpkcs11ecp.dllበጣም አስፈላጊ ነጥብ. Libraries rtengine.dll, rtpkcs11ecp.dll ለሩቶከን ከተጫነው ሾፌር ውጭ አይሰሩም። እንዲሁም Rutoken ከኮምፒዩተር ጋር መገናኘት አለበት. (ለ Rutoken የሚፈልጉትን ሁሉ ለመጫን ፣ የአንቀጹን የቀድሞ ክፍል ይመልከቱ
habr.com/am/post/506450 ) - የrtengine.dll እና rtpkcs11ecp.dll ላይብረሪዎች በተጠቃሚ መለያ ውስጥ በማንኛውም ቦታ ሊቀመጡ ይችላሉ።
- ወደ እነዚህ ቤተ-መጻሕፍት የሚወስዱትን መንገዶች በ openssl.cfg እንጽፋለን። ይህንን ለማድረግ የ openssl.cfg ፋይልን ይክፈቱ ፣ መስመሩን በዚህ ፋይል መጀመሪያ ላይ ያድርጉት።
openssl_conf = openssl_def
በፋይሉ መጨረሻ ላይ ማከል ያስፈልግዎታል:
[ openssl_def ] engines = engine_section [ engine_section ] rtengine = gost_section [ gost_section ] dynamic_path = /Users/username/bin/sdk-rutoken/openssl/rtengine/bin/windows-x86_64/lib/rtengine.dll MODULE_PATH = /Users/username/bin/sdk-rutoken/pkcs11/lib/windows-x86_64/rtpkcs11ecp.dll RAND_TOKEN = pkcs11:manufacturer=Aktiv%20Co.;model=Rutoken%20ECP default_algorithms = CIPHERS, DIGEST, PKEY, RAND
dynamic_path - ወደ rtengine.dll ቤተ-መጽሐፍት የሚወስደውን መንገድ መግለጽ አለብዎት።
MODULE_PATH - መንገድዎን ወደ rtpkcs11ecp.dll ቤተ መፃህፍት መፃፍ አለቦት።
- በመጀመሪያ ደረጃ, አስፈላጊውን የሩቶከን አልጎሪዝም ማውረድ ያስፈልግዎታል. እነዚህ ፋይሎች rtengine.dll፣ rtpkcs11ecp.dll ናቸው።
- የአካባቢ ተለዋዋጮች መጨመር.
ወደ openssl.cfg ውቅር ፋይል የሚወስደውን መንገድ የሚገልጽ የአካባቢ ተለዋዋጭ ማከልዎን እርግጠኛ ይሁኑ። በእኔ ሁኔታ፣ የOPENSL_CONF ተለዋዋጭ የተፈጠረው በ C: Program FilesOpenSSL-Win64binopenssl.cfg መንገድ ነው።
በመንገዱ ተለዋዋጭ ውስጥ openssl.exe ወደሚገኝበት አቃፊ የሚወስደውን መንገድ መግለጽ አለብህ፡ በእኔ ሁኔታ፡ C: Program FilesOpenSSL-Win64bin ነው።
- አሁን ወደ ደረጃ 5 ተመለስ እና የጎደሉትን ፋይሎች ለ demoCA ማውጫ መፍጠር ትችላለህ።
- ያለ ምንም የማይሰራ የመጀመሪያው አስፈላጊ ፋይል ተከታታይ ነው። ይህ ቅጥያ የሌለው ፋይል ነው ዋጋውም 01 መሆን አለበት.ይህን ፋይል እራስዎ መፍጠር እና 01 ውስጥ መፃፍ ይችላሉ.ከሩቶከን ኤስዲኬ በመንገዱ sdk/openssl/rtengine/samples/tool/demoCA ላይ ማውረድ ይችላሉ። /.
የዲሞሲኤ ማውጫው የምንፈልገውን የመለያ ፋይል ይዟል። - የስር የግል ቁልፍ ይፍጠሩ።
ይህንን ለማድረግ በትእዛዝ መስመር ላይ በቀጥታ መከናወን ያለበትን OpenSSL ላይብረሪ ትዕዛዝ እንጠቀማለን፡openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out ca.key
- የስር የምስክር ወረቀት እንፈጥራለን.
ይህንን ለማድረግ የሚከተለውን የSSL ላይብረሪ ትእዛዝ ተጠቀም፡openssl req -utf8 -x509 -key ca.key -out ca.crt
እባኮትን ያስተውሉ በቀደመው ደረጃ የመነጨው የስር የግል ቁልፍ የስር ሰርተፍኬቱን ለመፍጠር እንደሚያስፈልግ ነው። ስለዚህ, የትእዛዝ መስመር በተመሳሳይ ማውጫ ውስጥ መጀመር አለበት.
ለዲሞሲኤ ማውጫው ሙሉ ውቅር ሁሉም ነገር አሁን ሁሉም የጎደሉ ፋይሎች አሉት። የተፈጠሩ ፋይሎችን በደረጃ 5 በተጠቀሱት ማውጫዎች ውስጥ ያስቀምጡ።
- ያለ ምንም የማይሰራ የመጀመሪያው አስፈላጊ ፋይል ተከታታይ ነው። ይህ ቅጥያ የሌለው ፋይል ነው ዋጋውም 01 መሆን አለበት.ይህን ፋይል እራስዎ መፍጠር እና 01 ውስጥ መፃፍ ይችላሉ.ከሩቶከን ኤስዲኬ በመንገዱ sdk/openssl/rtengine/samples/tool/demoCA ላይ ማውረድ ይችላሉ። /.
ሁሉንም 8 ነጥቦች ካጠናቀቅን በኋላ የእኛ የምስክር ወረቀት ማዕከላችን ሙሉ በሙሉ እንደተዋቀረ እንገምታለን።
በሚቀጥለው ክፍል የተገለፀውን ለመፈጸም ከማረጋገጫ ባለስልጣን ጋር እንዴት እንደምንሰራ እገልጻለሁ
ምንጭ: hab.com