mirror of
https://github.com/slackhq/nebula.git
synced 2025-11-22 16:34:25 +01:00
add PKCS11 support (#1153)
* add PKCS11 support * add pkcs11 build option to the makefile, add a stub pkclient to avoid forcing CGO onto people * don't print the pkcs11 option on nebula-cert keygen if not compiled in * remove linux-arm64-pkcs11 from the all target to fix CI * correctly serialize ec keys * nebula-cert: support PKCS#11 for sign and ca * fix gofmt lint * clean up some logic with regard to closing sessions * pkclient: handle empty correctly for TPM2 * Update Makefile and Actions --------- Co-authored-by: Morgan Jones <me@numin.it> Co-authored-by: John Maguire <contact@johnmaguire.me>
This commit is contained in:
30
pkclient/pkclient_stub.go
Normal file
30
pkclient/pkclient_stub.go
Normal file
@@ -0,0 +1,30 @@
|
||||
//go:build !cgo || !pkcs11
|
||||
|
||||
package pkclient
|
||||
|
||||
import "errors"
|
||||
|
||||
type PKClient struct {
|
||||
}
|
||||
|
||||
var notImplemented = errors.New("not implemented")
|
||||
|
||||
func New(hsmPath string, slotId uint, pin string, id string, label string) (*PKClient, error) {
|
||||
return nil, notImplemented
|
||||
}
|
||||
|
||||
func (c *PKClient) Close() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *PKClient) SignASN1(data []byte) ([]byte, error) {
|
||||
return nil, notImplemented
|
||||
}
|
||||
|
||||
func (c *PKClient) DeriveNoise(_ []byte) ([]byte, error) {
|
||||
return nil, notImplemented
|
||||
}
|
||||
|
||||
func (c *PKClient) GetPubKey() ([]byte, error) {
|
||||
return nil, notImplemented
|
||||
}
|
||||
Reference in New Issue
Block a user