mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-09 13:28:01 -05:00
Validate Password on RPC CreateWallet Request (#9848)
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
This commit is contained in:
@@ -62,6 +62,9 @@ func (s *Server) CreateWallet(ctx context.Context, req *pb.CreateWalletRequest)
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
if err := prompt.ValidatePasswordInput(req.WalletPassword); err != nil {
|
||||
return nil, status.Errorf(codes.InvalidArgument, "Password too weak: %v", err)
|
||||
}
|
||||
if req.Keymanager == pb.KeymanagerKind_IMPORTED {
|
||||
_, err := accounts.CreateWalletWithKeymanager(ctx, &accounts.CreateWalletConfig{
|
||||
WalletCfg: &wallet.Config{
|
||||
|
||||
@@ -80,6 +80,32 @@ func TestServer_CreateWallet_Imported(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
func TestServer_CreateWallet_Imported_PasswordTooWeak(t *testing.T) {
|
||||
localWalletDir := setupWalletDir(t)
|
||||
defaultWalletPath = localWalletDir
|
||||
ctx := context.Background()
|
||||
s := &Server{
|
||||
walletInitializedFeed: new(event.Feed),
|
||||
walletDir: defaultWalletPath,
|
||||
}
|
||||
req := &pb.CreateWalletRequest{
|
||||
Keymanager: pb.KeymanagerKind_IMPORTED,
|
||||
WalletPassword: "", // Weak password, empty string
|
||||
}
|
||||
// We delete the directory at defaultWalletPath as CreateWallet will return an error if it tries to create a wallet
|
||||
// where a directory already exists
|
||||
require.NoError(t, os.RemoveAll(defaultWalletPath))
|
||||
_, err := s.CreateWallet(ctx, req)
|
||||
require.ErrorContains(t, "Password too weak", err)
|
||||
|
||||
req = &pb.CreateWalletRequest{
|
||||
Keymanager: pb.KeymanagerKind_IMPORTED,
|
||||
WalletPassword: "a", // Weak password, too short
|
||||
}
|
||||
_, err = s.CreateWallet(ctx, req)
|
||||
require.ErrorContains(t, "Password too weak", err)
|
||||
}
|
||||
|
||||
func TestServer_RecoverWallet_Derived(t *testing.T) {
|
||||
localWalletDir := setupWalletDir(t)
|
||||
ctx := context.Background()
|
||||
|
||||
Reference in New Issue
Block a user