gitee.com/lh-her-team/common@v1.5.1/crypto/hsm/zayk/main.go (about)

     1  package main
     2  
     3  /**
     4    This is a demo which implements hsm.IHSMAdapter.
     5  */
     6  import (
     7  	"errors"
     8  	"fmt"
     9  )
    10  
    11  //go build -buildmode=plugin -o plugin1.so plugin1.go
    12  
    13  // Adapter variable must be defined
    14  // nolint
    15  var Adapter hsmAdapter
    16  
    17  // adapter must implement IHSMAdapter interface
    18  type hsmAdapter struct {
    19  }
    20  
    21  //key prefix for zayk
    22  var (
    23  	sm2priv_prefix = "ZAYK_SM2_PRI"
    24  	sm2pub_prefix  = "ZAYK_SM2_PUB"
    25  )
    26  
    27  func (a hsmAdapter) PKCS11_GetSM2KeyId(keyIdex int, isPrivate bool) (string, error) {
    28  	if isPrivate {
    29  		return fmt.Sprintf("%s%d", sm2priv_prefix, keyIdex), nil
    30  	}
    31  	return fmt.Sprintf("%s%d", sm2pub_prefix, keyIdex), nil
    32  }
    33  
    34  func (a hsmAdapter) PKCS11_GetRSAKeyId(keyIdex int, isPrivate bool) (string, error) {
    35  	return "", errors.New("not implemented")
    36  }
    37  
    38  func (a hsmAdapter) PKCS11_GetECCKeyId(keyIdex int, isPrivate bool) (string, error) {
    39  	return "", errors.New("not implemented")
    40  }
    41  
    42  func (a hsmAdapter) PKCS11_GetSM4KeyId(keyIdex int) (string, error) {
    43  	return "", errors.New("not implemented")
    44  }
    45  
    46  func (a hsmAdapter) PKCS11_GetAESKeyId(keyIdex int) (string, error) {
    47  	return "", errors.New("not implemented")
    48  }
    49  
    50  func (a hsmAdapter) PKCS11_GetSM3SM2CKM() uint {
    51  	return 0
    52  }
    53  
    54  func (a hsmAdapter) SDF_GetSM2KeyAccessRight(keyIdex int) (newKeyIdex int, need bool) {
    55  	return keyIdex, false
    56  }
    57  
    58  func (a hsmAdapter) SDF_GetSM4KeyAccessRight(keyIdex int) (newKeyIdex int, need bool) {
    59  	return keyIdex, false
    60  }
    61  
    62  func (a hsmAdapter) SDF_GetRSAKeyAccessRight(keyIdex int) (newKeyIdex int, need bool) {
    63  	return keyIdex, false
    64  }
    65  
    66  func (a hsmAdapter) SDF_GetAESKeyAccessRight(keyIdex int) (newKeyIdex int, need bool) {
    67  	return keyIdex, false
    68  }
    69  
    70  func main() {}