Skip to content

Commit 037d620

Browse files
committed
return err in all cases
1 parent 4681d59 commit 037d620

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

cng/mlkem.go

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ package cng
88

99
import (
1010
"errors"
11-
"fmt"
1211
"runtime"
1312

1413
"github.com/microsoft/go-crypto-winnative/internal/bcrypt"
@@ -87,34 +86,31 @@ func generateMLKEMKey(paramSet string, dst []byte) error {
8786
var hKey bcrypt.KEY_HANDLE
8887
err = bcrypt.GenerateKeyPair(alg.handle, &hKey, 0, 0)
8988
if err != nil {
90-
return errors.New("mlkem: key generation failed")
89+
return err
9190
}
9291
defer bcrypt.DestroyKey(hKey)
9392

9493
// Set the parameter set
9594
if err := setString(bcrypt.HANDLE(hKey), bcrypt.PARAMETER_SET_NAME, paramSet); err != nil {
9695
return err
9796
}
98-
if err != nil {
99-
return errors.New("mlkem: failed to set parameter set")
100-
}
10197

10298
err = bcrypt.FinalizeKeyPair(hKey, 0)
10399
if err != nil {
104-
return errors.New("mlkem: key finalization failed")
100+
return err
105101
}
106102

107103
// Export the private key blob
108104
var size uint32
109105
err = bcrypt.ExportKey(hKey, 0, utf16PtrFromString(bcrypt.MLKEM_PRIVATE_BLOB), nil, &size, 0)
110106
if err != nil {
111-
return errors.New("mlkem: failed to get key blob size")
107+
return err
112108
}
113109

114110
blob := make([]byte, size)
115111
err = bcrypt.ExportKey(hKey, 0, utf16PtrFromString(bcrypt.MLKEM_PRIVATE_BLOB), blob, &size, 0)
116112
if err != nil {
117-
return errors.New("mlkem: failed to export key")
113+
return err
118114
}
119115

120116
// Extract raw key bytes into destination
@@ -164,19 +160,19 @@ func mlkemDecapsulate(paramSet string, keyBytes []byte, ciphertext []byte, expec
164160

165161
alg, err := loadMLKEM()
166162
if err != nil {
167-
return nil, errors.New("mlkem: failed to open algorithm provider")
163+
return nil, err
168164
}
169165

170166
// Construct blob from raw key bytes
171167
blob, err := newMLKEMKeyBlob(paramSet, keyBytes, bcrypt.MLKEM_PRIVATE_MAGIC)
172168
if err != nil {
173-
return nil, fmt.Errorf("mlkem: failed to construct key blob: %w", err)
169+
return nil, err
174170
}
175171

176172
var hKey bcrypt.KEY_HANDLE
177173
err = bcrypt.ImportKeyPair(alg.handle, 0, utf16PtrFromString(bcrypt.MLKEM_PRIVATE_BLOB), &hKey, blob, 0)
178174
if err != nil {
179-
return nil, fmt.Errorf("mlkem: failed to import key: %w", err)
175+
return nil, err
180176
}
181177
defer bcrypt.DestroyKey(hKey)
182178

@@ -185,7 +181,7 @@ func mlkemDecapsulate(paramSet string, keyBytes []byte, ciphertext []byte, expec
185181

186182
err = bcrypt.Decapsulate(hKey, ciphertext, sharedKey, &cbResult, 0)
187183
if err != nil {
188-
return nil, fmt.Errorf("mlkem: decapsulation failed: %w", err)
184+
return nil, err
189185
}
190186
return sharedKey[:cbResult], nil
191187
}

0 commit comments

Comments
 (0)