All three profiles were assembled from strings. They are now typed documents: - Android: PPS MO from encoding/xml structs; MIME multipart with mime/multipart (boundary renner-passpoint-profile; Android's ConfigParser reads part headers into a map, so their order does not matter). - Apple: .mobileconfig marshalled with howett.net/plist. - Windows: CarrierProvisioning built as an etree document; the signature is an etree subtree, digest and SignedInfo canonicalized with goxmldsig's C14N 1.0 canonicalizer (SignedInfo in place, so it carries the inherited xmldsig namespace). Same form as Microsoft's samples: one transform, rsa-sha1, sha1 digest, chain in KeyInfo. Tests parse the outputs (multipart reader, encoding/xml, plist, etree) and verify the Windows signature with goxmldsig. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
12 lines
235 B
AMPL
12 lines
235 B
AMPL
module gitea.renner.uno/konairius/homelab/wlan-setup
|
|
|
|
go 1.27
|
|
|
|
require (
|
|
github.com/beevik/etree v1.7.0
|
|
github.com/russellhaering/goxmldsig v1.6.1
|
|
howett.net/plist v1.0.1
|
|
)
|
|
|
|
require github.com/jonboulle/clockwork v0.5.0 // indirect
|