From 0c1caa898d75befc29bd25b3414a7ffc742570af Mon Sep 17 00:00:00 2001 From: nitram509 Date: Sun, 22 Sep 2024 01:13:37 +0200 Subject: [PATCH 1/2] implement JKS/PKCS12 format support add load function add new dependency 'github.com/corbym/gocrest' for testing add new dependency 'software.sslmate.com/src/go-pkcs12' for PKCS12 support --- common.go | 4 +- go.mod | 7 ++ go.sum | 43 +++++++++ keystore.go | 64 +------------ keystore_load.go | 123 ++++++++++++++++++++++++ keystore_load_test.go | 139 ++++++++++++++++++++++++++++ keystore_test.go | 105 --------------------- testdata/keystore_temurin_21.pkcs12 | Bin 0 -> 192873 bytes 8 files changed, 315 insertions(+), 170 deletions(-) create mode 100644 go.sum create mode 100644 keystore_load.go create mode 100644 keystore_load_test.go create mode 100644 testdata/keystore_temurin_21.pkcs12 diff --git a/common.go b/common.go index f66c19d..31fc712 100644 --- a/common.go +++ b/common.go @@ -5,8 +5,6 @@ import ( ) const ( - magic uint32 = 0xfeedfeed - version01 uint32 = 1 version02 uint32 = 2 @@ -14,6 +12,8 @@ const ( trustedCertificateTag uint32 = 2 ) +var jksMagicBytes = []byte{0xfe, 0xed, 0xfe, 0xed} + var byteOrder = binary.BigEndian var whitenerMessage = []byte("Mighty Aphrodite") diff --git a/go.mod b/go.mod index 500eac7..8ca77d0 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,10 @@ module github.com/pavlo-v-chernykh/keystore-go/v4 go 1.17 + +require ( + github.com/corbym/gocrest v1.0.6 + software.sslmate.com/src/go-pkcs12 v0.5.0 +) + +require golang.org/x/crypto v0.11.0 // indirect diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..f9e74b0 --- /dev/null +++ b/go.sum @@ -0,0 +1,43 @@ +github.com/corbym/gocrest v1.0.6 h1:o1BKLyGFvKndpJUUkGpF5DXzzKSbPTnNvGXfIAgV9x0= +github.com/corbym/gocrest v1.0.6/go.mod h1:lF3xBPnOU5DYDpa/vUq63SMxUhd5UAwGgmA8Z2pJ/Tk= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA= +golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +software.sslmate.com/src/go-pkcs12 v0.5.0 h1:EC6R394xgENTpZ4RltKydeDUjtlM5drOYIG9c6TVj2M= +software.sslmate.com/src/go-pkcs12 v0.5.0/go.mod h1:Qiz0EyvDRJjjxGyUQa2cCNZn/wMyzrRJ/qcDXOQazLI= diff --git a/keystore.go b/keystore.go index 2c3f222..0b06d30 100644 --- a/keystore.go +++ b/keystore.go @@ -1,7 +1,6 @@ package keystore import ( - "bytes" "crypto/rand" "crypto/sha1" "errors" @@ -109,7 +108,7 @@ func (ks KeyStore) Store(w io.Writer, password []byte) error { return fmt.Errorf("update digest with whitener message: %w", err) } - if err := e.writeUint32(magic); err != nil { + if err := e.writeBytes(jksMagicBytes); err != nil { return fmt.Errorf("write magic: %w", err) } // always write latest version @@ -143,67 +142,6 @@ func (ks KeyStore) Store(w io.Writer, password []byte) error { return nil } -// Load reads keystore representation from r and checks its signature. -// It is strongly recommended to fill password slice with zero after usage. -func (ks KeyStore) Load(r io.Reader, password []byte) error { - d := decoder{ - r: r, - h: sha1.New(), - } - - passwordBytes := passwordBytes(password) - defer zeroing(passwordBytes) - - if _, err := d.h.Write(passwordBytes); err != nil { - return fmt.Errorf("update digest with password: %w", err) - } - - if _, err := d.h.Write(whitenerMessage); err != nil { - return fmt.Errorf("update digest with whitener message: %w", err) - } - - readMagic, err := d.readUint32() - if err != nil { - return fmt.Errorf("read magic: %w", err) - } - - if readMagic != magic { - return errors.New("got invalid magic") - } - - version, err := d.readUint32() - if err != nil { - return fmt.Errorf("read version: %w", err) - } - - entryNum, err := d.readUint32() - if err != nil { - return fmt.Errorf("read number of entries: %w", err) - } - - for i := uint32(0); i < entryNum; i++ { - alias, entry, err := d.readEntry(version) - if err != nil { - return fmt.Errorf("read %d entry: %w", i, err) - } - - ks.m[alias] = entry - } - - computedDigest := d.h.Sum(nil) - - actualDigest, err := d.readBytes(uint32(d.h.Size())) - if err != nil { - return fmt.Errorf("read digest: %w", err) - } - - if !bytes.Equal(actualDigest, computedDigest) { - return errors.New("got invalid digest") - } - - return nil -} - // SetPrivateKeyEntry adds PrivateKeyEntry into keystore by alias encrypted with password. // It is strongly recommended to fill password slice with zero after usage. func (ks KeyStore) SetPrivateKeyEntry(alias string, entry PrivateKeyEntry, password []byte) error { diff --git a/keystore_load.go b/keystore_load.go new file mode 100644 index 0000000..c7fb195 --- /dev/null +++ b/keystore_load.go @@ -0,0 +1,123 @@ +package keystore + +import ( + "bytes" + "crypto/sha1" + "errors" + "fmt" + "io" + "software.sslmate.com/src/go-pkcs12" + "time" +) + +// Load reads keystore representation from r and checks its signature. +// It is strongly recommended to fill password slice with zero after usage. +func (ks KeyStore) Load(r io.Reader, password []byte) error { + d := decoder{ + r: r, + h: sha1.New(), + } + fourBytes, err := d.readBytes(4) + if err != nil { + return fmt.Errorf("read magic: %w", err) + } + + magicBytesReader := bytes.NewReader(fourBytes) + fullReader := io.MultiReader(magicBytesReader, r) + + if bytes.Equal(fourBytes, jksMagicBytes) { + return ks.loadJks(fullReader, password) + } else { + return ks.loadPkcs12(fullReader, password) + } +} + +// loads the old JKS format +func (ks KeyStore) loadJks(r io.Reader, password []byte) error { + d := decoder{ + r: r, + h: sha1.New(), + } + + passwordBytes := passwordBytes(password) + defer zeroing(passwordBytes) + + if _, err := d.h.Write(passwordBytes); err != nil { + return fmt.Errorf("update digest with password: %w", err) + } + + if _, err := d.h.Write(whitenerMessage); err != nil { + return fmt.Errorf("update digest with whitener message: %w", err) + } + + fourBytes, err := d.readBytes(4) + if err != nil { + return fmt.Errorf("read magic: %w", err) + } + + if bytes.Equal(fourBytes, jksMagicBytes) { + return errors.New("got invalid magic bytes from the file, this is no JKS format") + } + + version, err := d.readUint32() + if err != nil { + return fmt.Errorf("read version: %w", err) + } + + entryNum, err := d.readUint32() + if err != nil { + return fmt.Errorf("read number of entries: %w", err) + } + + for i := uint32(0); i < entryNum; i++ { + alias, entry, err := d.readEntry(version) + if err != nil { + return fmt.Errorf("read %d entry: %w", i, err) + } + + ks.m[alias] = entry + } + + computedDigest := d.h.Sum(nil) + + actualDigest, err := d.readBytes(uint32(d.h.Size())) + if err != nil { + return fmt.Errorf("read digest: %w", err) + } + + if !bytes.Equal(actualDigest, computedDigest) { + return errors.New("got invalid digest") + } + + return nil +} + +// loads the newer PKCS12 format +func (ks KeyStore) loadPkcs12(r io.Reader, password []byte) error { + allData, err := io.ReadAll(r) + if err != nil { + return err + } + certs, err := pkcs12.DecodeTrustStore(allData, string(password)) + for _, cert := range certs { + print(cert) + + certificate := Certificate{ + Type: "X509", + Content: nil, + } + + tce := TrustedCertificateEntry{} + tce.CreationTime = time.Now() // FIXME + tce.Certificate = certificate + alias := fmt.Sprintf("c_%s,o_%s,ou_%s,cn_%s,s_%s", + cert.Subject.Country, + cert.Subject.Organization, + cert.Subject.OrganizationalUnit, + cert.Subject.CommonName, + cert.Subject.SerialNumber, + ) + ks.m[alias] = tce + } + return nil +} diff --git a/keystore_load_test.go b/keystore_load_test.go new file mode 100644 index 0000000..9b876c0 --- /dev/null +++ b/keystore_load_test.go @@ -0,0 +1,139 @@ +package keystore + +import ( + "encoding/pem" + "github.com/corbym/gocrest/has" + "github.com/corbym/gocrest/then" + "os" + "reflect" + "testing" + "time" +) + +func TestLoad(t *testing.T) { + password := []byte{'p', 'a', 's', 's', 'w', 'o', 'r', 'd'} + defer zeroing(password) + + f, err := os.Open("./testdata/keystore.jks") + if err != nil { + t.Fatalf("open test data keystore file: %s", err) + } + + defer func() { + if err := f.Close(); err != nil { + t.Fatalf("close test data keystore file: %s", err) + } + }() + + keyStore := New() + + if err := keyStore.Load(f, password); err != nil { + t.Fatalf("decode test data keystore: %s", err) + } + + actualPKE, err := keyStore.GetPrivateKeyEntry("alias", password) + if err != nil { + t.Fatalf("get private key entry: %s", err) + } + + expectedCT, err := time.Parse("2006-01-02 15:04:05.999999999 -0700 MST", "2017-09-19 17:41:00.016 +0300 EEST") + if err != nil { + t.Fatalf("parse creation time: %s", err) + } + + if !actualPKE.CreationTime.Equal(expectedCT) { + t.Errorf("unexpected private key entry creation time: '%v' '%v'", actualPKE.CreationTime, expectedCT) + } + + if len(actualPKE.CertificateChain) != 0 { + t.Errorf("unexpected private key entry certificate chain length: '%d' '%d'", len(actualPKE.CertificateChain), 0) + } + + pkPEM, err := os.ReadFile("./testdata/key.pem") + if err != nil { + t.Fatalf("read expected private key file: %s", err) + } + + decodedPK, _ := pem.Decode(pkPEM) + + if !reflect.DeepEqual(actualPKE.PrivateKey, decodedPK.Bytes) { + t.Errorf("unexpected private key") + } +} + +func TestLoadPkcs12(t *testing.T) { + password := []byte("") + + f, err := os.Open("./testdata/keystore_temurin_21.pkcs12") + if err != nil { + t.Fatalf("open test data keystore file: %s", err) + } + + defer func() { + if err := f.Close(); err != nil { + t.Fatalf("close test data keystore file: %s", err) + } + }() + + keyStore := New() + + if err := keyStore.Load(f, password); err != nil { + t.Fatalf("decode test data keystore: %s", err) + } + + then.AssertThat(t, keyStore.Aliases(), has.Length(148)) +} + +func TestLoadKeyPassword(t *testing.T) { + password := []byte{'p', 'a', 's', 's', 'w', 'o', 'r', 'd'} + defer zeroing(password) + + keyPassword := []byte{'k', 'e', 'y', 'p', 'a', 's', 's', 'w', 'o', 'r', 'd'} + defer zeroing(keyPassword) + + f, err := os.Open("./testdata/keystore_keypass.jks") + if err != nil { + t.Fatalf("open test data keystore file: %s", err) + } + + defer func() { + if err := f.Close(); err != nil { + t.Fatalf("close test data keystore file: %s", err) + } + }() + + keyStore := New() + + if err := keyStore.Load(f, password); err != nil { + t.Fatalf("decode test data keystore: %s", err) + } + + actualPKE, err := keyStore.GetPrivateKeyEntry("alias", keyPassword) + if err != nil { + t.Fatalf("get private key entry: %s", err) + } + + expectedCT, err := time.Parse("2006-01-02 15:04:05.999999999 -0700 MST", "2020-10-26 12:01:38.387 +0200 EET") + if err != nil { + t.Fatalf("parse creation time: %s", err) + } + + if !actualPKE.CreationTime.Equal(expectedCT) { + t.Errorf("unexpected private key entry creation time: '%v' '%v'", actualPKE.CreationTime, expectedCT) + } + + if len(actualPKE.CertificateChain) != 1 { + t.Errorf("unexpected private key entry certificate chain length: '%d' '%d'", len(actualPKE.CertificateChain), 0) + } + + pkPEM, err := os.ReadFile("./testdata/key_keypass.pem") + if err != nil { + t.Fatalf("read expected private key file: %s", err) + } + + decodedPK, _ := pem.Decode(pkPEM) + + if !reflect.DeepEqual(actualPKE.PrivateKey, decodedPK.Bytes) { + t.Errorf("unexpected private key %v \n %v", actualPKE.PrivateKey, decodedPK.Bytes) + } +} diff --git a/keystore_test.go b/keystore_test.go index c773bc3..1b5a726 100644 --- a/keystore_test.go +++ b/keystore_test.go @@ -187,111 +187,6 @@ func TestAliases(t *testing.T) { } } -func TestLoad(t *testing.T) { - password := []byte{'p', 'a', 's', 's', 'w', 'o', 'r', 'd'} - defer zeroing(password) - - f, err := os.Open("./testdata/keystore.jks") - if err != nil { - t.Fatalf("open test data keystore file: %s", err) - } - - defer func() { - if err := f.Close(); err != nil { - t.Fatalf("close test data keystore file: %s", err) - } - }() - - keyStore := New() - - if err := keyStore.Load(f, password); err != nil { - t.Fatalf("decode test data keystore: %s", err) - } - - actualPKE, err := keyStore.GetPrivateKeyEntry("alias", password) - if err != nil { - t.Fatalf("get private key entry: %s", err) - } - - expectedCT, err := time.Parse("2006-01-02 15:04:05.999999999 -0700 MST", "2017-09-19 17:41:00.016 +0300 EEST") - if err != nil { - t.Fatalf("parse creation time: %s", err) - } - - if !actualPKE.CreationTime.Equal(expectedCT) { - t.Errorf("unexpected private key entry creation time: '%v' '%v'", actualPKE.CreationTime, expectedCT) - } - - if len(actualPKE.CertificateChain) != 0 { - t.Errorf("unexpected private key entry certificate chain length: '%d' '%d'", len(actualPKE.CertificateChain), 0) - } - - pkPEM, err := os.ReadFile("./testdata/key.pem") - if err != nil { - t.Fatalf("read expected private key file: %s", err) - } - - decodedPK, _ := pem.Decode(pkPEM) - - if !reflect.DeepEqual(actualPKE.PrivateKey, decodedPK.Bytes) { - t.Errorf("unexpected private key") - } -} - -func TestLoadKeyPassword(t *testing.T) { - password := []byte{'p', 'a', 's', 's', 'w', 'o', 'r', 'd'} - defer zeroing(password) - - keyPassword := []byte{'k', 'e', 'y', 'p', 'a', 's', 's', 'w', 'o', 'r', 'd'} - defer zeroing(keyPassword) - - f, err := os.Open("./testdata/keystore_keypass.jks") - if err != nil { - t.Fatalf("open test data keystore file: %s", err) - } - - defer func() { - if err := f.Close(); err != nil { - t.Fatalf("close test data keystore file: %s", err) - } - }() - - keyStore := New() - - if err := keyStore.Load(f, password); err != nil { - t.Fatalf("decode test data keystore: %s", err) - } - - actualPKE, err := keyStore.GetPrivateKeyEntry("alias", keyPassword) - if err != nil { - t.Fatalf("get private key entry: %s", err) - } - - expectedCT, err := time.Parse("2006-01-02 15:04:05.999999999 -0700 MST", "2020-10-26 12:01:38.387 +0200 EET") - if err != nil { - t.Fatalf("parse creation time: %s", err) - } - - if !actualPKE.CreationTime.Equal(expectedCT) { - t.Errorf("unexpected private key entry creation time: '%v' '%v'", actualPKE.CreationTime, expectedCT) - } - - if len(actualPKE.CertificateChain) != 1 { - t.Errorf("unexpected private key entry certificate chain length: '%d' '%d'", len(actualPKE.CertificateChain), 0) - } - - pkPEM, err := os.ReadFile("./testdata/key_keypass.pem") - if err != nil { - t.Fatalf("read expected private key file: %s", err) - } - - decodedPK, _ := pem.Decode(pkPEM) - - if !reflect.DeepEqual(actualPKE.PrivateKey, decodedPK.Bytes) { - t.Errorf("unexpected private key %v \n %v", actualPKE.PrivateKey, decodedPK.Bytes) - } -} - func readPrivateKey(t *testing.T) []byte { t.Helper() diff --git a/testdata/keystore_temurin_21.pkcs12 b/testdata/keystore_temurin_21.pkcs12 new file mode 100644 index 0000000000000000000000000000000000000000..563a54e5614d049ac8fb4ec9fc247b4af76a5905 GIT binary patch literal 192873 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 !n?{rJf9a>_YiQiz~Gx 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�&((Xj=2!q1Qi_IcI`>v-yBC%yOfUPVg(&K4vF!b#D5s!f!V#_OJSk6l~m_JWs7sG|+j~+!lm|MfWKOCR3kNPT=16^`Kxw=3BudYz8HpBXNZ)Yh(zv*i|pP9gV zg;5l~3JOU0LAfG90b%}le|1f+%@bg2{hxZt{t@qj&lC;MeAh>!mHXUscUN~R9XgCe zMY|~16PacD;6@cif6qOu_d#K~Dcf?qBJK#{I>v1=It?i1qMOyT)Mk`@n#WH4!ir+= z1IpdAg1lbj_3ZHw#!O<1eLG=eQNs5tG&bO%AAv%pA|bapB5e5967`u$cUFlYiZH0R z3f#l)^|ZKIBh+?Q`^oD=DsfbcFW7_%f!>VQ54(5dNFL7G)hkl<2KBc&5t)I36nSj#z6ruehYx56amG51VD(5oYTeJ lOUT|3V*6nN{P}A-&3})1L3&NE-xsp`{3j#S|Dkm1{{RoPli2_O literal 0 HcmV?d00001 From 64a41d5ecdc6e686bdc50cefa195453143c5561d Mon Sep 17 00:00:00 2001 From: nitram509 Date: Sun, 22 Sep 2024 23:52:17 +0200 Subject: [PATCH 2/2] fix time stamp for CreationTime is set refactor tests for better readability --- keystore_load.go | 8 +-- keystore_load_test.go | 46 ++++++------------ ....pkcs12 => openjdk_temurin_21_cacerts.p12} | Bin 3 files changed, 21 insertions(+), 33 deletions(-) rename testdata/{keystore_temurin_21.pkcs12 => openjdk_temurin_21_cacerts.p12} (100%) diff --git a/keystore_load.go b/keystore_load.go index c7fb195..c265c0e 100644 --- a/keystore_load.go +++ b/keystore_load.go @@ -7,7 +7,6 @@ import ( "fmt" "io" "software.sslmate.com/src/go-pkcs12" - "time" ) // Load reads keystore representation from r and checks its signature. @@ -55,7 +54,7 @@ func (ks KeyStore) loadJks(r io.Reader, password []byte) error { return fmt.Errorf("read magic: %w", err) } - if bytes.Equal(fourBytes, jksMagicBytes) { + if !bytes.Equal(fourBytes, jksMagicBytes) { return errors.New("got invalid magic bytes from the file, this is no JKS format") } @@ -99,6 +98,9 @@ func (ks KeyStore) loadPkcs12(r io.Reader, password []byte) error { return err } certs, err := pkcs12.DecodeTrustStore(allData, string(password)) + if err != nil { + return err + } for _, cert := range certs { print(cert) @@ -108,7 +110,7 @@ func (ks KeyStore) loadPkcs12(r io.Reader, password []byte) error { } tce := TrustedCertificateEntry{} - tce.CreationTime = time.Now() // FIXME + tce.CreationTime = cert.NotBefore // by meaning the most fitting option, because x509 doesn't have creation time tce.Certificate = certificate alias := fmt.Sprintf("c_%s,o_%s,ou_%s,cn_%s,s_%s", cert.Subject.Country, diff --git a/keystore_load_test.go b/keystore_load_test.go index 9b876c0..b6c55fe 100644 --- a/keystore_load_test.go +++ b/keystore_load_test.go @@ -3,6 +3,7 @@ package keystore import ( "encoding/pem" "github.com/corbym/gocrest/has" + "github.com/corbym/gocrest/is" "github.com/corbym/gocrest/then" "os" "reflect" @@ -15,31 +16,23 @@ func TestLoad(t *testing.T) { defer zeroing(password) f, err := os.Open("./testdata/keystore.jks") - if err != nil { - t.Fatalf("open test data keystore file: %s", err) - } + then.AssertThat(t, err, is.Nil()) defer func() { - if err := f.Close(); err != nil { - t.Fatalf("close test data keystore file: %s", err) - } + err := f.Close() + then.AssertThat(t, err, is.Nil()) }() keyStore := New() - if err := keyStore.Load(f, password); err != nil { - t.Fatalf("decode test data keystore: %s", err) - } + err = keyStore.Load(f, password) + then.AssertThat(t, err, is.Nil()) actualPKE, err := keyStore.GetPrivateKeyEntry("alias", password) - if err != nil { - t.Fatalf("get private key entry: %s", err) - } + then.AssertThat(t, err, is.Nil()) expectedCT, err := time.Parse("2006-01-02 15:04:05.999999999 -0700 MST", "2017-09-19 17:41:00.016 +0300 EEST") - if err != nil { - t.Fatalf("parse creation time: %s", err) - } + then.AssertThat(t, err, is.Nil()) if !actualPKE.CreationTime.Equal(expectedCT) { t.Errorf("unexpected private key entry creation time: '%v' '%v'", actualPKE.CreationTime, expectedCT) @@ -50,9 +43,7 @@ func TestLoad(t *testing.T) { } pkPEM, err := os.ReadFile("./testdata/key.pem") - if err != nil { - t.Fatalf("read expected private key file: %s", err) - } + then.AssertThat(t, err, is.Nil()) decodedPK, _ := pem.Decode(pkPEM) @@ -61,25 +52,20 @@ func TestLoad(t *testing.T) { } } -func TestLoadPkcs12(t *testing.T) { +func TestLoadPkcs12_openjdk(t *testing.T) { password := []byte("") - f, err := os.Open("./testdata/keystore_temurin_21.pkcs12") - if err != nil { - t.Fatalf("open test data keystore file: %s", err) - } + f, err := os.Open("./testdata/openjdk_temurin_21_cacerts.p12") + then.AssertThat(t, err, is.Nil()) defer func() { - if err := f.Close(); err != nil { - t.Fatalf("close test data keystore file: %s", err) - } + err := f.Close() + then.AssertThat(t, err, is.Nil()) }() keyStore := New() - - if err := keyStore.Load(f, password); err != nil { - t.Fatalf("decode test data keystore: %s", err) - } + err = keyStore.Load(f, password) + then.AssertThat(t, err, is.Nil()) then.AssertThat(t, keyStore.Aliases(), has.Length(148)) } diff --git a/testdata/keystore_temurin_21.pkcs12 b/testdata/openjdk_temurin_21_cacerts.p12 similarity index 100% rename from testdata/keystore_temurin_21.pkcs12 rename to testdata/openjdk_temurin_21_cacerts.p12