Integrasi tanda tangan digital dari Pusat Penelitian Nasional Republik Kazakhstan dalam sistem informasi berdasarkan teknologi web

Saya akan berbicara tentang seluk-beluk pengenalan tanda tangan digital elektronik (EDS) dalam sistem informasi (SI) berdasarkan teknologi web dalam konteks Pusat Otoritas Sertifikasi Nasional Republik Kazakhstan (NTC RK) .



Fokusnya akan pada pembentukan tanda tangan digital di bawah dokumen elektronik dan, dengan demikian, NCALayer - perangkat lunak kriptografi yang disediakan oleh Pusat Penelitian Nasional Republik Kazakhstan. Secara khusus, saya akan memperhatikan masalah yang berkaitan dengan UX dan ruang lingkup fungsi yang didukung dari NCALayer.



Saya akan membagi proses menjadi langkah-langkah berikut:



  • pembentukan representasi dokumen yang ditandatangani (oleh dokumen yang ditandatangani, maksud saya adalah data yang perlu ditandatangani, seperti: kontrak, formulir pemesanan, formulir otentikasi, dll.);
  • menandatangani dokumen di antarmuka web menggunakan NCALayer;
  • verifikasi tanda tangan sisi server;
  • (jika perlu) menyiapkan tanda tangan untuk penyimpanan jangka panjang.


Pembentukan perwakilan permanen dari dokumen yang ditandatangani



, , . , .



— . ( , ), , , :



  • , ;
  • XML JSON ;
  • PDF - ;
  • ..


:



  • ( ) ;
  • .


, , , :



  • ;
  • ( , , ).


, - , .



, — ( ) , . , , , . . .



NCALayer



— NCALayer WebSocket , 127.0.0.1, ( ) . NCALayer — .



API NCALayer . , NCALayer WebSocket KAZTOKEN mobile (KAZTOKEN mobile API NCALayer).



NCALayer WebSocket, ncalayer-js-client async .



NCALayer kz.gov.pki.knca.commonUtils, kz.gov.pki.knca.applet.Applet ( Java ) , , , , — ( -) .



kz.gov.pki.knca.commonUtils , ( , ), . :



  • , 'PKCS12',
  • ( -), , , getActiveTokens.


, NCALayer , :



  • — getActiveTokens, , 'PKCS12' ;
  • — getActiveTokens, , , , , , , 'PKCS12'.


( ):



  • createCAdESFromBase64 — CMS (CAdES);
  • createCMSSignatureFromBase64 — , (TSP) CMS (CAdES) ;
  • signXml — XML , (XMLDSIG);
  • signXmls — signXml, XML .


, , .



kz.gov.pki.knca.commonUtils :



  • 'AUTHENTICATION' — ;
  • 'SIGNATURE' — .


NCLayer , .



ncalayer-js-client:



async function connectAndSign(base64EncodedData) {
  const ncalayerClient = new NCALayerClient();

  try {
    await ncalayerClient.connect();
  } catch (error) {
    alert(`    NCALayer: ${error.toString()}`);
    return;
  }

  let activeTokens;
  try {
    activeTokens = await ncalayerClient.getActiveTokens();
  } catch (error) {
    alert(error.toString());
    return;
  }

  const storageType = activeTokens[0] || NCALayerClient.fileStorageType;

  let base64EncodedSignature;
  try {
    base64EncodedSignature = await ncalayerClient.createCAdESFromBase64(storageType, base64EncodedData);
  } catch (error) {
    alert(error.toString());
    return;
  }

  return base64EncodedSignature;
}




, , .



, — , . , , - , , , . , , .



“ ”. . , .



, , SIGEX.





. , , , , .



TSP. ( createCMSSignatureFromBase64 CMS), . , .



Untuk memastikan bahwa sertifikat tidak dicabut pada saat penandatanganan, Anda harus menggunakan respons CRL atau OCSP. Rekomendasi nuansa dan implementasi ini dijelaskan dalam LAMPIRAN B - Menempatkan Tanda Tangan Pada Suatu Titik Waktu Tertentu dalam RFC 3161 .




All Articles