سسٽم ۾ صارفين کي رجسٽر ڪرڻ ۽ اختيار ڏيڻ لاء Rutoken ٽيڪنالاجي استعمال ڪرڻ ۾ تجربو (حصو 2)

منجهند جو سلام اچو ته هن موضوع سان جاري رکونپويون حصو لنڪ تي ڏسي سگھجي ٿو).

اڄ اسان عملي حصو ڏانهن وڃو. اچو ته شروع ڪريون اسان جي CA جي بنياد تي مڪمل اوپن سورس ڪرپٽوگرافڪ لائبريري OpenSSL تي. ھي الگورتھم ونڊوز 7 استعمال ڪندي آزمايو ويو آھي.

OpenSSL انسٽال ٿيڻ سان، اسان ڪمانڊ لائن ذريعي مختلف ڪرپٽوگرافڪ آپريشنز (جهڙوڪ ڪنجيون ۽ سرٽيفڪيٽ ٺاهڻ) ڪري سگھون ٿا.

عملن جو الگورتھم ھيٺ ڏنل آھي.

  1. ڊائون لوڊ ڪريو تنصيب جي تقسيم openssl-1.1.1g.
    openSSL جا مختلف ورجن آهن. Rutoken لاءِ دستاويز چيو ته OpenSSL ورجن 1.1.0 يا نئون گهربل آهي. مون استعمال ڪيو openssl-1.1.1g ورزن. توھان اوپن ايس ايس ايل کي سرڪاري سائيٽ تان ڊائون لوڊ ڪري سگھو ٿا، پر آسان انسٽاليشن لاءِ، توھان کي ضرورت آھي انسٽاليشن فائل ڳولڻ لاءِ ونڊوز لاءِ نيٽ تي. مون توهان لاء هي ڪيو: slproweb.com/products/Win32OpenSSL.html
    صفحي کي ھيٺ لٿو ۽ ڊائون لوڊ ڪريو Win64 OpenSSL v1.1.1g EXE 63MB انسٽالر.
  2. ڪمپيوٽر تي Openssl-1.1.1g انسٽال ڪريو.
    تنصيب کي معياري رستي جي مطابق ڪيو وڃي، جيڪو خودڪار طور تي C: پروگرام فائل فولڊر ۾ ظاهر ڪيو ويو آهي. پروگرام OpenSSL-Win64 فولڊر ۾ نصب ڪيو ويندو.
  3. OpenSSL سيٽ اپ ڪرڻ لاءِ جيئن توھان کي ضرورت آھي، اتي آھي openssl.cfg فائل. هي فائل C:\Program Files\OpenSSL-Win64bin واٽ ۾ واقع آهي جيڪڏهن توهان OpenSSL انسٽال ڪيو جيئن پوئين پيراگراف ۾ بيان ڪيو ويو آهي. فولڊر ڏانھن وڃو جتي openssl.cfg ذخيرو ٿيل آھي ۽ ھن فائل کي کوليو، مثال طور، Notepad++.
  4. توهان شايد اندازو لڳايو آهي ته سرٽيفڪيشن اٿارٽي ڪنهن نه ڪنهن طريقي سان openssl.cfg فائل جي مواد کي تبديل ڪندي ترتيب ڏني ويندي، ۽ توهان بلڪل صحيح آهيو. ان لاءِ [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 ڊاريڪٽري ۽ ذيلي ڊائريڪٽري ٺاهڻ جي ضرورت آھي جيئن مٿي ڏنل مثال ۾ ڏيکاريل آھي. ۽ ان کي هن ڊاريڪٽري ۾ ان رستي ۾ رکو جيڪو dir ۾ بيان ڪيو ويو آهي (مون وٽ آهي /Users/username/bin/openSSLca/demoCA).

    اهو تمام ضروري آهي ته dir کي صحيح طور تي اسپيل ڪرڻ - هي رستو آهي ڊاريڪٽري ڏانهن جتي اسان جو سرٽيفڪيشن سينٽر واقع هوندو. ھي ڊاريڪٽري /Users ۾ واقع ھجڻ گھرجي (جيڪو ڪجھ استعمال ڪندڙ جي اڪائونٽ ۾ آھي). جيڪڏهن توهان هن ڊاريڪٽري کي رکو ٿا، مثال طور، C: Program Files ۾، سسٽم فائل کي openssl.cfg سيٽنگن سان نه ڏسندو (گهٽ ۾ گهٽ اهو منهنجي لاءِ ائين هو).

    $dir - dir ۾ بيان ڪيل رستو هتي متبادل آهي.

    ٻيو اهم نقطو هڪ خالي index.txt فائل ٺاهڻ آهي، هن فائل کان سواءِ “openSSL ca …” ڪمانڊ ڪم نه ڪندا.

    توھان کي پڻ ھڪڙي سيريل فائل جي ضرورت آھي، ھڪڙو روٽ پرائيويٽ ڪي (ca.key)، ھڪڙو روٽ سرٽيفڪيٽ (ca.crt). انهن فائلن کي حاصل ڪرڻ جو عمل هيٺ بيان ڪيو ويندو.

  6. اسان Rutoken پاران مهيا ڪيل انڪرپشن الگورتھم سان ڳنڍيندا آهيون.
    اهو ڪنيڪشن openssl.cfg فائل ۾ ٿئي ٿو.

    • سڀ کان پهريان، توهان کي گهربل Rutoken الگورتھم ڊائون لوڊ ڪرڻ جي ضرورت آهي. اهي فائلون آهن rtengine.dll, rtpkcs11ecp.dll.
      هن کي ڪرڻ لاء، Rutoken SDK ڊائون لوڊ ڪريو: www.rutoken.ru/developers/sdk.

      Rutoken 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

      هڪ تمام اهم نقطو. لائبريريون rtengine.dll, rtpkcs11ecp.dll Rutoken لاءِ انسٽال ٿيل ڊرائيور کان سواءِ ڪم نه ٿيون ڪن. پڻ Rutoken ڪمپيوٽر سان ڳنڍيل هجڻ ضروري آهي. (Rutoken لاءِ توهان کي گهربل هر شي کي انسٽال ڪرڻ لاءِ، مضمون جو پويون حصو ڏسو habr.com/en/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 ترتيب واري فائل ڏانهن. منهنجي صورت ۾، OPENSSL_CONF متغير پيدا ڪيو ويو رستو C:Program FilesOpenSSL-Win64binopenssl.cfg سان.

    رستي جي متغير ۾، توهان کي فولڊر ڏانهن رستو بيان ڪرڻ گهرجي جتي openssl.exe واقع آهي، منهنجي صورت ۾ اهو آهي: C: Program FilesOpenSSL-Win64bin.

  8. ھاڻي توھان واپس وڃو قدم 5 ڏانھن ۽ ٺاھيو گم ٿيل فائلون DemoCA ڊاريڪٽري لاءِ.
    1. پهرين اهم فائل جنهن جي بغير ڪجھ به ڪم نه ڪندو سيريل آهي. ھيءَ ھڪڙي فائل آھي جنھن جي ايڪسٽينشن کان سواءِ آھي، جنھن جي قيمت 01 ھئڻ گھرجي. توھان ھي فائل پاڻ ٺاھي سگھوٿا ۽ اندر 01 لکي سگھو ٿا. توھان ان کي Rutoken SDK کان به ڊائون لوڊ ڪري سگھو ٿا رستي سان sdk/openssl/rtengine/samples/tool/demoCA /.
      DemoCA ڊاريڪٽري ۾ سيريل فائل شامل آهي، جيڪا اسان کي گهربل آهي.
    2. روٽ پرائيويٽ ڪيچ ٺاهيو.
      هن کي ڪرڻ لاء، اسان استعمال ڪنداسين OpenSSL لائبريري ڪمانڊ، جيڪو سڌو سنئون ڪمانڊ لائن تي هلائڻ گهرجي:

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

    3. اسان هڪ روٽ سرٽيفڪيٽ ٺاهي.
      هن کي ڪرڻ لاء، هيٺ ڏنل OpenSSL لائبريري حڪم استعمال ڪريو:

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

      مهرباني ڪري نوٽ ڪريو ته روٽ پرائيويٽ ڪنجي، جيڪا اڳئين مرحلي ۾ ٺاهي وئي هئي، روٽ سرٽيفڪيٽ ٺاهڻ جي ضرورت آهي. تنهن ڪري، ڪمانڊ لائن کي ساڳئي ڊاريڪٽري ۾ شروع ڪيو وڃي.

    سڀڪنھن شيء کي ھاڻي DemoCA ڊاريڪٽري جي مڪمل تشڪيل لاء سڀ غائب فائلون آهن. پوائنٽ 5 ۾ ڏيکاريل ڊائريڪٽرن ۾ ٺاهيل فائلن کي رکو.

اسان فرض ڪنداسين ته سڀني 8 پوائنٽن کي مڪمل ڪرڻ کان پوء، اسان جي سرٽيفڪيشن سينٽر مڪمل طور تي ترتيب ڏنل آهي.

ايندڙ حصي ۾، مان بيان ڪندس ته اسان سرٽيفڪيشن اٿارٽي سان ڪيئن ڪم ڪنداسين انهي کي پورو ڪرڻ لاءِ جيڪو بيان ڪيو ويو آهي مضمون جو پويون حصو.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو