Skip to content
This repository has been archived by the owner on Sep 19, 2021. It is now read-only.

Provides methods for signing xml of requests for SMEV2 and SMEV3

License

Notifications You must be signed in to change notification settings

VMashanov/crypto-pro-provider

Repository files navigation

Crypto-pro-provider

The library provides methods for signing xml of requests for SMEV2 and SMEV3

Usage

  • Import module;
import {
  certificates,
  sign,
  detachedSign,
} from 'crypto-pro-provider';
  • First, you need to select certificate. For it use method certificates;
  certificates()
    .then((certificates) => {
      // list of certificates
    })
    .catch((error) => {
      // error
    });

Signature for SMEV 2:

  • Sign your message;
  // thumbprint - hash of the before selected certificate
  // base64 - message encoded to base64
  sign(thumbprint, base64)
    .then((signature) => {
      // signed message
    })
    .catch((error) => {
      // error
    });

Signature for SMEV 3:

Signing message for SMEV 3 is more difficult, than for SMEV 2, so you should have server-side for some operations.

Before signing your message by crypto-pro-provider, you should does several actions.

Then canonicalized node send to client-side and sign by crypto-pro-provider:

  // thumbprint - hash of the before selected certificate
  // base64 - message encoded to base64
  // signatureTemplateAsBase64 - signature template encoded to base64
  detachedSign(thumbprint, base64, signatureTemplateAsBase64)
    .then((base64) => {
      // Signed XML as base64
    })
    .catch((error) => {
      // error
    });

Save signature.

That's all!

Changelog

Changelog here!

About

Provides methods for signing xml of requests for SMEV2 and SMEV3

Resources

License

Stars

Watchers

Forks

Packages

No packages published