Skip to content

Commit d770d77

Browse files
committed
Hash replaceToken only if its non-empty
1 parent 531c3f3 commit d770d77

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

internal/pkg/agent/cmd/enroll_cmd.go

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1051,10 +1051,18 @@ func createFleetConfigFromEnroll(accessAPIKey string, enrollmentToken string, re
10511051
if err != nil {
10521052
return nil, errors.New(err, "failed to generate enrollment hash", errors.TypeConfig)
10531053
}
1054-
cfg.ReplaceTokenHash, err = fleetHashToken(replaceToken)
1055-
if err != nil {
1056-
return nil, errors.New(err, "failed to generate replace token hash", errors.TypeConfig)
1054+
1055+
// Hash replaceToken if provided; it is not expected to be provided when an Agent
1056+
// is being enrolled for the very first time. Hashing an empty replaceToken with the
1057+
// FIPS-capable build of Elastic Agent results in an "invalid key length" error from
1058+
// OpenSSL's FIPS provider.
1059+
if replaceToken != "" {
1060+
cfg.ReplaceTokenHash, err = fleetHashToken(replaceToken)
1061+
if err != nil {
1062+
return nil, errors.New(err, "failed to generate replace token hash", errors.TypeConfig)
1063+
}
10571064
}
1065+
10581066
if err := cfg.Valid(); err != nil {
10591067
return nil, errors.New(err, "invalid enrollment options", errors.TypeConfig)
10601068
}

0 commit comments

Comments
 (0)