Normalize SCEP provisioner name in webhook body

This commit is contained in:
Herman Slatman 2023-11-08 19:52:20 +01:00
parent e815864ed8
commit 9ebc8779f5
No known key found for this signature in database
GPG Key ID: F4D8A44EA0A75A4F
2 changed files with 7 additions and 4 deletions

View File

@ -9,6 +9,7 @@ import (
"encoding/pem"
"fmt"
"net/http"
"strings"
"time"
"github.com/pkg/errors"
@ -152,7 +153,7 @@ func (c *challengeValidationController) Validate(ctx context.Context, csr *x509.
if err != nil {
return fmt.Errorf("failed creating new webhook request: %w", err)
}
req.ProvisionerName = provisionerName
req.ProvisionerName = strings.ToLower(provisionerName)
req.SCEPChallenge = challenge
req.SCEPTransactionID = transactionID
resp, err := wh.DoWithContext(ctx, c.client, req, nil) // TODO(hs): support templated URL? Requires some refactoring

View File

@ -242,6 +242,7 @@ func TestSCEP_ValidateChallenge(t *testing.T) {
Raw: []byte{1},
}
type request struct {
ProvisionerName string `json:"provisionerName,omitempty"`
Request *webhook.X509CertificateRequest `json:"x509CertificateRequest,omitempty"`
Challenge string `json:"scepChallenge"`
TransactionID string `json:"scepTransactionID"`
@ -253,6 +254,7 @@ func TestSCEP_ValidateChallenge(t *testing.T) {
req := &request{}
err := json.NewDecoder(r.Body).Decode(req)
require.NoError(t, err)
assert.Equal(t, "scep", req.ProvisionerName)
assert.Equal(t, "webhook-challenge", req.Challenge)
assert.Equal(t, "webhook-transaction-1", req.TransactionID)
if assert.NotNil(t, req.Request) {