በሲስተሙ ውስጥ ተጠቃሚዎችን ለመመዝገብ እና ለመፍቀድ የRutoken ቴክኖሎጂን የመጠቀም ልምድ (ክፍል 2)

እንደምን አረፈድክ በዚህ ርዕስ እንቀጥልየቀደመው ክፍል በአገናኙ ላይ ሊገኝ ይችላል).

ዛሬ ወደ ተግባራዊ ክፍል እንሸጋገራለን. ሙሉ ክፍት ምንጭ ክሪፕቶግራፊክ ቤተመፃህፍት openSSL ላይ በመመስረት የእኛን CA በማዋቀር እንጀምር። ይህ አልጎሪዝም የተሞከረው windows 7ን በመጠቀም ነው።

OpenSSL ከተጫነ በትእዛዝ መስመሩ በኩል የተለያዩ የምስጠራ ስራዎችን (እንደ ቁልፎችን እና የምስክር ወረቀቶችን መፍጠር) ማከናወን እንችላለን።

የድርጊቶች ስልተ-ቀመር እንደሚከተለው ነው-

  1. የመጫኛ ስርጭቱን ያውርዱ 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 ጫኚን ያውርዱ።
  2. በኮምፒተር ላይ openssl-1.1.1g ን ጫን።
    መጫኑ በመደበኛ ዱካ መሠረት መከናወን አለበት ፣ ይህም በራስ-ሰር በ C: Program Files አቃፊ ውስጥ ይገለጻል። ፕሮግራሙ በ OpenSSL-Win64 አቃፊ ውስጥ ይጫናል.
  3. OpenSSL በሚፈልጉበት መንገድ ለማዋቀር የ openssl.cfg ፋይል አለ። ይህ ፋይል በቀደመው አንቀጽ ላይ እንደተገለጸው openSSL ከጫኑ በC:\ Program Files\OpenSSL-Win64bin ዱካ ውስጥ ይገኛል። openssl.cfg ወደ ሚከማችበት አቃፊ ይሂዱ እና ይህን ፋይል ለምሳሌ ኖትፓድ++ በመጠቀም ይክፈቱት።
  4. የመክፈቻውን ፋይል ይዘቶች በመቀየር የእውቅና ማረጋገጫው ባለስልጣን እንደምንም እንደሚዋቀር ገምተህ ሊሆን ይችላል፣ እና ትክክል ነህ። ይህ የ [ca] ትዕዛዝን ማበጀት ይጠይቃል። በ openssl.cfg ፋይል ውስጥ ለውጦችን የምናደርግበት የጽሑፍ መጀመሪያ፡ [ ca] ሊገኝ ይችላል።
  5. አሁን ከማብራሪያው ጋር የቅንብር ምሳሌ እሰጣለሁ፡-
    [ 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) ሊኖርዎት ይገባል። እነዚህን ፋይሎች የማግኘት ሂደት ከዚህ በታች ይብራራል.

  6. በሩቶከን የቀረቡትን የኢንክሪፕሽን ስልተ ቀመሮችን እናገናኛለን።
    ይህ ግንኙነት በ 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 ቤተ መፃህፍት መፃፍ አለቦት።

  7. የአካባቢ ተለዋዋጮች መጨመር.

    ወደ openssl.cfg ውቅር ፋይል የሚወስደውን መንገድ የሚገልጽ የአካባቢ ተለዋዋጭ ማከልዎን እርግጠኛ ይሁኑ። በእኔ ሁኔታ፣ የOPENSL_CONF ተለዋዋጭ የተፈጠረው በ C: Program FilesOpenSSL-Win64binopenssl.cfg መንገድ ነው።

    በመንገዱ ተለዋዋጭ ውስጥ openssl.exe ወደሚገኝበት አቃፊ የሚወስደውን መንገድ መግለጽ አለብህ፡ በእኔ ሁኔታ፡ C: Program FilesOpenSSL-Win64bin ነው።

  8. አሁን ወደ ደረጃ 5 ተመለስ እና የጎደሉትን ፋይሎች ለ demoCA ማውጫ መፍጠር ትችላለህ።
    1. ያለ ምንም የማይሰራ የመጀመሪያው አስፈላጊ ፋይል ተከታታይ ነው። ይህ ቅጥያ የሌለው ፋይል ነው ዋጋውም 01 መሆን አለበት.ይህን ፋይል እራስዎ መፍጠር እና 01 ውስጥ መፃፍ ይችላሉ.ከሩቶከን ኤስዲኬ በመንገዱ sdk/openssl/rtengine/samples/tool/demoCA ላይ ማውረድ ይችላሉ። /.
      የዲሞሲኤ ማውጫው የምንፈልገውን የመለያ ፋይል ይዟል።
    2. የስር የግል ቁልፍ ይፍጠሩ።
      ይህንን ለማድረግ በትእዛዝ መስመር ላይ በቀጥታ መከናወን ያለበትን OpenSSL ላይብረሪ ትዕዛዝ እንጠቀማለን፡

      openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out ca.key

    3. የስር የምስክር ወረቀት እንፈጥራለን.
      ይህንን ለማድረግ የሚከተለውን የSSL ላይብረሪ ትእዛዝ ተጠቀም፡

      openssl req -utf8 -x509 -key ca.key -out ca.crt

      እባኮትን ያስተውሉ በቀደመው ደረጃ የመነጨው የስር የግል ቁልፍ የስር ሰርተፍኬቱን ለመፍጠር እንደሚያስፈልግ ነው። ስለዚህ, የትእዛዝ መስመር በተመሳሳይ ማውጫ ውስጥ መጀመር አለበት.

    ለዲሞሲኤ ማውጫው ሙሉ ውቅር ሁሉም ነገር አሁን ሁሉም የጎደሉ ፋይሎች አሉት። የተፈጠሩ ፋይሎችን በደረጃ 5 በተጠቀሱት ማውጫዎች ውስጥ ያስቀምጡ።

ሁሉንም 8 ነጥቦች ካጠናቀቅን በኋላ የእኛ የምስክር ወረቀት ማዕከላችን ሙሉ በሙሉ እንደተዋቀረ እንገምታለን።

በሚቀጥለው ክፍል የተገለፀውን ለመፈጸም ከማረጋገጫ ባለስልጣን ጋር እንዴት እንደምንሰራ እገልጻለሁ የአንቀጹ ቀዳሚው ክፍል.

ምንጭ: hab.com

አስተያየት ያክሉ