Skip to content

Commit a3faa70

Browse files
committed
signature verifier location
1 parent 6f7a285 commit a3faa70

File tree

4 files changed

+11
-12
lines changed

4 files changed

+11
-12
lines changed

cmd/nanomdm/main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ func main() {
162162
if *flDebug {
163163
opts = append(opts, httpmdm.SigLogWithLogErrors(true))
164164
}
165-
h = httpmdm.CertExtractMdmSignatureMiddleware(h, cryptoutil.MdmSignatureVerifierFunc(cryptoutil.VerifyMdmSignature), opts...)
165+
h = httpmdm.CertExtractMdmSignatureMiddleware(h, httpmdm.MdmSignatureVerifierFunc(cryptoutil.VerifyMdmSignature), opts...)
166166
}
167167
return h
168168
}

cryptoutil/cryptoutil.go

-8
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,6 @@ func TopicFromPEMCert(pemCert []byte) (string, error) {
4040
return TopicFromCert(cert)
4141
}
4242

43-
// MdmSignatureVerifierFunc is an adapter for verifying Apple MDM "Mdm-Signature" headers.
44-
type MdmSignatureVerifierFunc func(header string, body []byte) (*x509.Certificate, error)
45-
46-
// VerifyMdmSignature calls v with header and body.
47-
func (v MdmSignatureVerifierFunc) VerifyMdmSignature(header string, body []byte) (*x509.Certificate, error) {
48-
return v(header, body)
49-
}
50-
5143
// VerifyMdmSignature verifies an Apple MDM "Mdm-Signature" header and returns the signing certificate.
5244
// See https://developer.apple.com/documentation/devicemanagement/implementing_device_management/managing_certificates_for_mdm_servers_and_devices
5345
// section "Pass an Identity Certificate Through a Proxy."

cryptoutil/cryptoutil_test.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,12 @@ func TestPKCS7ParseTagLengthError(t *testing.T) {
2222
}
2323
}
2424

25-
func TestMdmVerifierFunc(t *testing.T) {
25+
func TestVerifyMdmSignature(t *testing.T) {
2626
body, err := base64.StdEncoding.DecodeString(mdmSignatureBody2)
2727
if err != nil {
2828
t.Error(err)
2929
}
30-
verifier := MdmSignatureVerifierFunc(VerifyMdmSignature)
31-
_, err = verifier.VerifyMdmSignature(mdmSignatureHeader2, body)
30+
_, err = VerifyMdmSignature(mdmSignatureHeader2, body)
3231
if err != nil {
3332
t.Error(err)
3433
}

http/mdm/mdm_cert.go

+8
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,14 @@ type MdmSignatureVerifier interface {
108108
VerifyMdmSignature(header string, body []byte) (*x509.Certificate, error)
109109
}
110110

111+
// MdmSignatureVerifierFunc is an adapter for verifying Apple MDM "Mdm-Signature" headers.
112+
type MdmSignatureVerifierFunc func(header string, body []byte) (*x509.Certificate, error)
113+
114+
// VerifyMdmSignature calls v with header and body.
115+
func (v MdmSignatureVerifierFunc) VerifyMdmSignature(header string, body []byte) (*x509.Certificate, error) {
116+
return v(header, body)
117+
}
118+
111119
// CertExtractMdmSignatureMiddleware extracts the MDM enrollment
112120
// identity certificate from the request into the HTTP request context.
113121
// It tries to verify the Mdm-Signature header on the request.

0 commit comments

Comments
 (0)