Skip to content

Commit

Permalink
更新
Browse files Browse the repository at this point in the history
  • Loading branch information
deatil committed Aug 1, 2022
1 parent 040a74d commit 2d9d672
Show file tree
Hide file tree
Showing 6 changed files with 226 additions and 234 deletions.
112 changes: 56 additions & 56 deletions cryptobin/dsa/dsa_create.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,6 @@ import (
cryptobin_tool "github.com/deatil/go-cryptobin/tool"
)

// Cipher 列表
var CipherMap = map[string]pkcs8.CipherBlock{
"DESCBC": pkcs8.DESCBC,
"DESEDE3CBC": pkcs8.DESEDE3CBC,
"AES128CBC": pkcs8.AES128CBC,
"AES192CBC": pkcs8.AES192CBC,
"AES256CBC": pkcs8.AES256CBC,
}

type (
// 配置
Opts = pkcs8.Opts
Expand All @@ -30,53 +21,13 @@ type (
ScryptOpts = pkcs8.ScryptOpts
)

// 解析配置
func parseOpt(opts ...any) (pkcs8.Opts, error) {
if len(opts) == 0 {
return pkcs8.DefaultOpts, nil
}

switch newOpt := opts[0].(type) {
case pkcs8.Opts:
return newOpt, nil
case string:
// DESCBC | DESEDE3CBC | AES128CBC
// AES192CBC | AES256CBC
opt := "AES256CBC"
if len(opts) > 0 {
opt = opts[0].(string)
}

// MD5 | SHA1 | SHA224 | SHA256 | SHA384
// SHA512 | SHA512_224 | SHA512_256
encryptHash := "SHA1"
if len(opts) > 1 {
encryptHash = opts[1].(string)
}

// 具体方式
cipher, ok := CipherMap[opt]
if !ok {
return pkcs8.Opts{}, errors.New("PEMCipher not exists.")
}

hmacHash := cryptobin_tool.NewHash().
GetCryptoHash(encryptHash)

// 设置
enOpt := pkcs8.Opts{
Cipher: cipher,
KDFOpts: pkcs8.PBKDF2Opts{
SaltSize: 16,
IterationCount: 10000,
HMACHash: hmacHash,
},
}

return enOpt, nil
default:
return pkcs8.DefaultOpts, nil
}
// Cipher 列表
var CipherMap = map[string]pkcs8.CipherBlock{
"DESCBC": pkcs8.DESCBC,
"DESEDE3CBC": pkcs8.DESEDE3CBC,
"AES128CBC": pkcs8.AES128CBC,
"AES192CBC": pkcs8.AES192CBC,
"AES256CBC": pkcs8.AES256CBC,
}

// 私钥
Expand Down Expand Up @@ -276,3 +227,52 @@ func (this DSA) CreatePKCS8PublicKey() DSA {

return this
}

// 解析配置
func parseOpt(opts ...any) (pkcs8.Opts, error) {
if len(opts) == 0 {
return pkcs8.DefaultOpts, nil
}

switch newOpt := opts[0].(type) {
case pkcs8.Opts:
return newOpt, nil
case string:
// DESCBC | DESEDE3CBC | AES128CBC
// AES192CBC | AES256CBC
opt := "AES256CBC"
if len(opts) > 0 {
opt = opts[0].(string)
}

// MD5 | SHA1 | SHA224 | SHA256 | SHA384
// SHA512 | SHA512_224 | SHA512_256
encryptHash := "SHA1"
if len(opts) > 1 {
encryptHash = opts[1].(string)
}

// 具体方式
cipher, ok := CipherMap[opt]
if !ok {
return pkcs8.Opts{}, errors.New("PEMCipher not exists.")
}

hmacHash := cryptobin_tool.NewHash().
GetCryptoHash(encryptHash)

// 设置
enOpt := pkcs8.Opts{
Cipher: cipher,
KDFOpts: pkcs8.PBKDF2Opts{
SaltSize: 16,
IterationCount: 10000,
HMACHash: hmacHash,
},
}

return enOpt, nil
default:
return pkcs8.DefaultOpts, nil
}
}
112 changes: 56 additions & 56 deletions cryptobin/ecdsa/ecdsa_create.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,6 @@ import (
cryptobin_tool "github.com/deatil/go-cryptobin/tool"
)

// Cipher 列表
var CipherMap = map[string]pkcs8.CipherBlock{
"DESCBC": pkcs8.DESCBC,
"DESEDE3CBC": pkcs8.DESEDE3CBC,
"AES128CBC": pkcs8.AES128CBC,
"AES192CBC": pkcs8.AES192CBC,
"AES256CBC": pkcs8.AES256CBC,
}

type (
// 配置
Opts = pkcs8.Opts
Expand All @@ -29,53 +20,13 @@ type (
ScryptOpts = pkcs8.ScryptOpts
)

// 解析配置
func parseOpt(opts ...any) (pkcs8.Opts, error) {
if len(opts) == 0 {
return pkcs8.DefaultOpts, nil
}

switch newOpt := opts[0].(type) {
case pkcs8.Opts:
return newOpt, nil
case string:
// DESCBC | DESEDE3CBC | AES128CBC
// AES192CBC | AES256CBC
opt := "AES256CBC"
if len(opts) > 0 {
opt = opts[0].(string)
}

// MD5 | SHA1 | SHA224 | SHA256 | SHA384
// SHA512 | SHA512_224 | SHA512_256
encryptHash := "SHA1"
if len(opts) > 1 {
encryptHash = opts[1].(string)
}

// 具体方式
cipher, ok := CipherMap[opt]
if !ok {
return pkcs8.Opts{}, errors.New("PEMCipher not exists.")
}

hmacHash := cryptobin_tool.NewHash().
GetCryptoHash(encryptHash)

// 设置
enOpt := pkcs8.Opts{
Cipher: cipher,
KDFOpts: pkcs8.PBKDF2Opts{
SaltSize: 16,
IterationCount: 10000,
HMACHash: hmacHash,
},
}

return enOpt, nil
default:
return pkcs8.DefaultOpts, nil
}
// Cipher 列表
var CipherMap = map[string]pkcs8.CipherBlock{
"DESCBC": pkcs8.DESCBC,
"DESEDE3CBC": pkcs8.DESEDE3CBC,
"AES128CBC": pkcs8.AES128CBC,
"AES192CBC": pkcs8.AES192CBC,
"AES256CBC": pkcs8.AES256CBC,
}

// 私钥
Expand Down Expand Up @@ -243,3 +194,52 @@ func (this Ecdsa) CreatePublicKey() Ecdsa {

return this
}

// 解析配置
func parseOpt(opts ...any) (pkcs8.Opts, error) {
if len(opts) == 0 {
return pkcs8.DefaultOpts, nil
}

switch newOpt := opts[0].(type) {
case pkcs8.Opts:
return newOpt, nil
case string:
// DESCBC | DESEDE3CBC | AES128CBC
// AES192CBC | AES256CBC
opt := "AES256CBC"
if len(opts) > 0 {
opt = opts[0].(string)
}

// MD5 | SHA1 | SHA224 | SHA256 | SHA384
// SHA512 | SHA512_224 | SHA512_256
encryptHash := "SHA1"
if len(opts) > 1 {
encryptHash = opts[1].(string)
}

// 具体方式
cipher, ok := CipherMap[opt]
if !ok {
return pkcs8.Opts{}, errors.New("PEMCipher not exists.")
}

hmacHash := cryptobin_tool.NewHash().
GetCryptoHash(encryptHash)

// 设置
enOpt := pkcs8.Opts{
Cipher: cipher,
KDFOpts: pkcs8.PBKDF2Opts{
SaltSize: 16,
IterationCount: 10000,
HMACHash: hmacHash,
},
}

return enOpt, nil
default:
return pkcs8.DefaultOpts, nil
}
}
113 changes: 56 additions & 57 deletions cryptobin/eddsa/eddsa_create.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,6 @@ import (
cryptobin_tool "github.com/deatil/go-cryptobin/tool"
)

// Cipher 列表
var CipherMap = map[string]pkcs8.CipherBlock{
"DESCBC": pkcs8.DESCBC,
"DESEDE3CBC": pkcs8.DESEDE3CBC,
"AES128CBC": pkcs8.AES128CBC,
"AES192CBC": pkcs8.AES192CBC,
"AES256CBC": pkcs8.AES256CBC,
}

type (
// 配置
Opts = pkcs8.Opts
Expand All @@ -29,56 +20,15 @@ type (
ScryptOpts = pkcs8.ScryptOpts
)

// 解析配置
func parseOpt(opts ...any) (pkcs8.Opts, error) {
if len(opts) == 0 {
return pkcs8.DefaultOpts, nil
}

switch newOpt := opts[0].(type) {
case pkcs8.Opts:
return newOpt, nil
case string:
// DESCBC | DESEDE3CBC | AES128CBC
// AES192CBC | AES256CBC
opt := "AES256CBC"
if len(opts) > 0 {
opt = opts[0].(string)
}

// MD5 | SHA1 | SHA224 | SHA256 | SHA384
// SHA512 | SHA512_224 | SHA512_256
encryptHash := "SHA1"
if len(opts) > 1 {
encryptHash = opts[1].(string)
}

// 具体方式
cipher, ok := CipherMap[opt]
if !ok {
return pkcs8.Opts{}, errors.New("PEMCipher not exists.")
}

hmacHash := cryptobin_tool.NewHash().
GetCryptoHash(encryptHash)

// 设置
enOpt := pkcs8.Opts{
Cipher: cipher,
KDFOpts: pkcs8.PBKDF2Opts{
SaltSize: 16,
IterationCount: 10000,
HMACHash: hmacHash,
},
}

return enOpt, nil
default:
return pkcs8.DefaultOpts, nil
}
// Cipher 列表
var CipherMap = map[string]pkcs8.CipherBlock{
"DESCBC": pkcs8.DESCBC,
"DESEDE3CBC": pkcs8.DESEDE3CBC,
"AES128CBC": pkcs8.AES128CBC,
"AES192CBC": pkcs8.AES192CBC,
"AES256CBC": pkcs8.AES256CBC,
}


// 私钥
func (this EdDSA) CreatePrivateKey() EdDSA {
if this.privateKey == nil {
Expand Down Expand Up @@ -172,3 +122,52 @@ func (this EdDSA) CreatePublicKey() EdDSA {

return this
}

// 解析配置
func parseOpt(opts ...any) (pkcs8.Opts, error) {
if len(opts) == 0 {
return pkcs8.DefaultOpts, nil
}

switch newOpt := opts[0].(type) {
case pkcs8.Opts:
return newOpt, nil
case string:
// DESCBC | DESEDE3CBC | AES128CBC
// AES192CBC | AES256CBC
opt := "AES256CBC"
if len(opts) > 0 {
opt = opts[0].(string)
}

// MD5 | SHA1 | SHA224 | SHA256 | SHA384
// SHA512 | SHA512_224 | SHA512_256
encryptHash := "SHA1"
if len(opts) > 1 {
encryptHash = opts[1].(string)
}

// 具体方式
cipher, ok := CipherMap[opt]
if !ok {
return pkcs8.Opts{}, errors.New("PEMCipher not exists.")
}

hmacHash := cryptobin_tool.NewHash().
GetCryptoHash(encryptHash)

// 设置
enOpt := pkcs8.Opts{
Cipher: cipher,
KDFOpts: pkcs8.PBKDF2Opts{
SaltSize: 16,
IterationCount: 10000,
HMACHash: hmacHash,
},
}

return enOpt, nil
default:
return pkcs8.DefaultOpts, nil
}
}
Loading

0 comments on commit 2d9d672

Please sign in to comment.