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() {}