How to use the pkcs11js.CKA_CLASS function in pkcs11js

To help you get started, we’ve selected a few pkcs11js examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github PeculiarVentures / graphene / src / template.ts View on Github external
* Value of Attribute type (CKA_...)
   */
  v: number;
  /**
   * Type of Attribute
   */
  t: AttributeItemType;
}

interface IAttributeItems {
  [key: string]: IAttributeItem;
}

const attribute: IAttributeItems = {
  /* The following attribute types are defined: */
  class: { v: pkcs11.CKA_CLASS, t: TYPE_NUMBER },
  token: { v: pkcs11.CKA_TOKEN, t: TYPE_BOOL },
  private: { v: pkcs11.CKA_PRIVATE, t: TYPE_BOOL },
  label: { v: pkcs11.CKA_LABEL, t: TYPE_STRING },
  application: { v: pkcs11.CKA_APPLICATION, t: TYPE_STRING },
  value: { v: pkcs11.CKA_VALUE, t: TYPE_BUFFER },

  /* CKA_OBJECT_ID is new for v2.10 */
  objectId: { v: pkcs11.CKA_OBJECT_ID, t: TYPE_BUFFER },

  certType: { v: pkcs11.CKA_CERTIFICATE_TYPE, t: TYPE_NUMBER },
  issuer: { v: pkcs11.CKA_ISSUER, t: TYPE_BUFFER },
  serial: { v: pkcs11.CKA_SERIAL_NUMBER, t: TYPE_BUFFER },

  /* CKA_AC_ISSUER, CKA_OWNER, and CKA_ATTR_TYPES are new
 * for v2.10 */
  issuerAC: { v: pkcs11.CKA_AC_ISSUER, t: TYPE_BUFFER },
github hyperledger / fabric-sdk-node / fabric-common / lib / impl / bccsp_pkcs11.js View on Github external
_pkcs11GenerateECKeyPair(pkcs11, pkcs11Session, pkcs11Token) {
		// var ski = this._ski();
		const privateKeyTemplate = [
			// { type: pkcs11js.CKA_ID,        value: ski },
			{type: pkcs11js.CKA_CLASS, value: pkcs11js.CKO_PRIVATE_KEY},
			{type: pkcs11js.CKA_KEY_TYPE, value: pkcs11js.CKK_EC},
			{type: pkcs11js.CKA_PRIVATE, value: this._pkcs11Login},
			{type: pkcs11js.CKA_TOKEN, value: this._pkcs11Login && pkcs11Token},
			{type: pkcs11js.CKA_SIGN, value: true},
			{type: pkcs11js.CKA_DERIVE, value: true}
		];
		const publicKeyTemplate = [
			// { type: pkcs11js.CKA_ID,        value: ski },
			{type: pkcs11js.CKA_CLASS, value: pkcs11js.CKO_PUBLIC_KEY},
			{type: pkcs11js.CKA_KEY_TYPE, value: pkcs11js.CKK_EC},
			{type: pkcs11js.CKA_PRIVATE, value: false},
			{type: pkcs11js.CKA_TOKEN, value: this._pkcs11Login && pkcs11Token},
			{type: pkcs11js.CKA_VERIFY, value: true},
			{
				type: pkcs11js.CKA_EC_PARAMS,
				value: Buffer.from(_pkcs11ParamsSizeToOid[this._keySize], 'hex')
			}
		];

		/*
			* Call PKCS11 API to generate the key pair.
			*
			* Return public and private key handles.
			*/
		const handles = pkcs11.C_GenerateKeyPair(
github hyperledger / fabric-sdk-node / fabric-common / lib / impl / bccsp_pkcs11.js View on Github external
_pkcs11FindObjects(pkcs11, pkcs11Session, pkcs11Template) {
		pkcs11.C_FindObjectsInit(pkcs11Session, pkcs11Template);
		const objs = [];
		let obj = pkcs11.C_FindObjects(pkcs11Session);
		while (obj) {
			const objectTemplate = [
				{type: pkcs11js.CKA_CLASS},
				{type: pkcs11js.CKA_KEY_TYPE},
				{type: pkcs11js.CKA_PRIVATE},
				{type: pkcs11js.CKA_TOKEN},
				{type: pkcs11js.CKA_ID}
			];
			logger.debug(__func() + 'obj:  ' + util.inspect(obj, {depth: null}));
			logger.debug(__func() + 'attr: ' +
				util.inspect(this._pkcs11GetAttributeValue(pkcs11, pkcs11Session, obj, objectTemplate)));
			objs.push(obj);
			obj = pkcs11.C_FindObjects(pkcs11Session);
		}
		pkcs11.C_FindObjectsFinal(pkcs11Session);
		return objs;
	}
github PeculiarVentures / graphene / build / template.js View on Github external
"use strict";
var pkcs11 = require("pkcs11js");
var TYPE_NUMBER = "number";
var TYPE_BOOL = "boolen";
var TYPE_STRING = "string";
var TYPE_BUFFER = "buffer";
var TYPE_DATE = "date";
var attribute = {
    class: { v: pkcs11.CKA_CLASS, t: TYPE_NUMBER },
    token: { v: pkcs11.CKA_TOKEN, t: TYPE_BOOL },
    private: { v: pkcs11.CKA_PRIVATE, t: TYPE_BOOL },
    label: { v: pkcs11.CKA_LABEL, t: TYPE_STRING },
    application: { v: pkcs11.CKA_APPLICATION, t: TYPE_STRING },
    value: { v: pkcs11.CKA_VALUE, t: TYPE_BUFFER },
    objectId: { v: pkcs11.CKA_OBJECT_ID, t: TYPE_BUFFER },
    certType: { v: pkcs11.CKA_CERTIFICATE_TYPE, t: TYPE_NUMBER },
    issuer: { v: pkcs11.CKA_ISSUER, t: TYPE_BUFFER },
    serial: { v: pkcs11.CKA_SERIAL_NUMBER, t: TYPE_BUFFER },
    issuerAC: { v: pkcs11.CKA_AC_ISSUER, t: TYPE_BUFFER },
    owner: { v: pkcs11.CKA_OWNER, t: TYPE_BUFFER },
    attrTypes: { v: pkcs11.CKA_ATTR_TYPES, t: TYPE_BUFFER },
    trusted: { v: pkcs11.CKA_TRUSTED, t: TYPE_BOOL },
    certCategory: { v: pkcs11.CKA_CERTIFICATE_CATEGORY, t: TYPE_NUMBER },
    javaDomain: { v: pkcs11.CKA_JAVA_MIDP_SECURITY_DOMAIN, t: TYPE_NUMBER },
    url: { v: pkcs11.CKA_URL, t: TYPE_STRING },