diff --git a/common.go b/common.go index f1400db..f66c19d 100644 --- a/common.go +++ b/common.go @@ -2,7 +2,6 @@ package keystore import ( "encoding/binary" - "time" ) const ( @@ -33,11 +32,3 @@ func zeroing(buf []byte) { buf[i] = 0 } } - -func millisecondsToTime(ms int64) time.Time { - return time.Unix(0, ms*int64(time.Millisecond)) -} - -func timeToMilliseconds(t time.Time) int64 { - return t.UnixNano() / int64(time.Millisecond) -} diff --git a/decoder.go b/decoder.go index 159c3f8..8047ca7 100644 --- a/decoder.go +++ b/decoder.go @@ -5,6 +5,7 @@ import ( "fmt" "hash" "io" + "time" ) const defaultCertificateType = "X509" @@ -127,7 +128,7 @@ func (d decoder) readPrivateKeyEntry(version uint32) (PrivateKeyEntry, error) { chain = append(chain, cert) } - creationDateTime := millisecondsToTime(int64(creationTimeStamp)) + creationDateTime := time.UnixMilli(int64(creationTimeStamp)) privateKeyEntry := PrivateKeyEntry{ encryptedPrivateKey: encryptedPrivateKey, CreationTime: creationDateTime, @@ -148,7 +149,7 @@ func (d decoder) readTrustedCertificateEntry(version uint32) (TrustedCertificate return TrustedCertificateEntry{}, fmt.Errorf("read certificate: %w", err) } - creationDateTime := millisecondsToTime(int64(creationTimeStamp)) + creationDateTime := time.UnixMilli(int64(creationTimeStamp)) trustedCertificateEntry := TrustedCertificateEntry{ CreationTime: creationDateTime, Certificate: certificate, diff --git a/encoder.go b/encoder.go index 5f03bc2..31a7c3a 100644 --- a/encoder.go +++ b/encoder.go @@ -95,7 +95,7 @@ func (e encoder) writePrivateKeyEntry(alias string, pke PrivateKeyEntry) error { return fmt.Errorf("write alias: %w", err) } - if err := e.writeUint64(uint64(timeToMilliseconds(pke.CreationTime))); err != nil { + if err := e.writeUint64(uint64(pke.CreationTime.UnixMilli())); err != nil { return fmt.Errorf("write creation timestamp: %w", err) } @@ -140,7 +140,7 @@ func (e encoder) writeTrustedCertificateEntry(alias string, tce TrustedCertifica return fmt.Errorf("write alias: %w", err) } - if err := e.writeUint64(uint64(timeToMilliseconds(tce.CreationTime))); err != nil { + if err := e.writeUint64(uint64(tce.CreationTime.UnixMilli())); err != nil { return fmt.Errorf("write creation timestamp: %w", err) }