增加授权验证

This commit is contained in:
nuknal
2024-12-12 14:44:44 +08:00
parent 1e738907c7
commit c37bd0908a
18 changed files with 1096 additions and 3 deletions

View File

@@ -0,0 +1,49 @@
package public
import (
"crypto/ecdsa"
"encoding/pem"
)
type NonEquAlgorthm struct {
Algorithm *SigningMethodECDSA
PrivateKey *ecdsa.PrivateKey
PublicKey *ecdsa.PublicKey
}
func GetNonEquAlgorthm(prikey []byte, pubkey []byte) (*NonEquAlgorthm, error) {
var err error
alg := &NonEquAlgorthm{
Algorithm: GetSignVerifyMgr(),
}
if prikey != nil {
if block, _ := pem.Decode(prikey); block == nil {
prikey, err = FormatPem(prikey, true)
if err != nil {
return nil, err
}
}
alg.PrivateKey, err = ParseECPrivateKeyFromPEM(prikey)
if err != nil {
return nil, err
}
}
if pubkey != nil {
if block, _ := pem.Decode(pubkey); block == nil {
pubkey, err = FormatPem(pubkey, false)
if err != nil {
return nil, err
}
}
alg.PublicKey, err = ParseECPublicKeyFromPEM(pubkey)
if err != nil {
return nil, err
}
}
return alg, nil
}