From: qydysky Date: Thu, 4 Mar 2021 08:37:18 +0000 (+0800) Subject: 107 X-Git-Tag: v0.4.9 X-Git-Url: http://127.0.0.1:8081/?a=commitdiff_plain;h=86eb18bd1f2f82c6e06703a54136151dbe38be20;p=part%2F.git 107 --- diff --git a/crypto/Crypto.go b/crypto/Crypto.go index acbee35..e634d60 100644 --- a/crypto/Crypto.go +++ b/crypto/Crypto.go @@ -56,6 +56,15 @@ func (t *Crypto) GetPKIXPubKey(pubPEMData []byte) (err error) { return } +func (t *Crypto) LoadPKIXPubKey(path string) (err error) { + if d,e := FileLoad(path);e != nil { + return e + } else { + err = t.GetPKIXPubKey(d) + } + return +} + func (t *Crypto) GetPKCS1PriKey(priPEMData []byte) (err error) { block, _ := pem.Decode(priPEMData) if block == nil || block.Type != "RSA PRIVATE KEY" { @@ -68,6 +77,15 @@ func (t *Crypto) GetPKCS1PriKey(priPEMData []byte) (err error) { return } +func (t *Crypto) LoadPKCS1PriKey(path string) (err error) { + if d,e := FileLoad(path);e != nil { + return e + } else { + err = t.GetPKCS1PriKey(d) + } + return +} + func (t *Crypto) GetEncrypt(sourceByte []byte) (tragetByte []byte, err error) { if t.pubKey == nil { err = errors.New(`public key not load`) diff --git a/crypto/Crypto_test.go b/crypto/Crypto_test.go index 2f87acc..304e919 100644 --- a/crypto/Crypto_test.go +++ b/crypto/Crypto_test.go @@ -6,8 +6,7 @@ func Test(t *testing.T){ var k Crypto if k.PubLoad() || k.PriLoad() {t.Error(`Keystatus not PublicKeyNoLoad`)} { - d,_ := FileLoad(`public.pem`) - k.GetPKIXPubKey(d) + k.LoadPKIXPubKey(`public.pem`) } if !k.PubLoad() || k.PriLoad() {t.Error(`Keystatus not PrivateKeyNoLoad`)} { @@ -22,4 +21,8 @@ func Test(t *testing.T){ } else { if s := string(des);s != `1we23` {t.Error(`not Match`,s)} } + + if des,e := k.GetDecrypt([]byte(`1we23`));e == nil { + t.Error(des,e) + } } \ No newline at end of file