Files
fleet/tools/mdm/migration/micromdm/touchless
Victor Lyuboslavsky 6b7d232522 Additional CA validation (#27169)
For #26623

- Updated `github.com/groob/plist` to `github.com/micromdm/plist` -- it
was renamed
- Added validation that restricts DigiCert Fleet variables to
`com.apple.security.pkcs12` payloads plus additional restrictions
- Added validation that restricts Custom SCEP Fleet variables to
`com.apple.security.scep` payloads plus additional restrictions
- Enabled multiple CAs (Fleet variables) to be present in an Apple MDM
profile. But each CA can only be used once. For example, we can have
DigiCert CA and Custom SCEP CA in one Apple profile.

# Checklist for submitter
- [x] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [x] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [x] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [x] Added/updated automated tests
- [x] A detailed QA plan exists on the associated ticket (if it isn't
there, work with the product group's QA engineer to add it)
- [x] Manual QA for all new/changed functionality
2025-03-19 08:27:55 -05:00
..

MicroMDM touchless migration

This Go script reads information from a MicroMDM database and outputs:

  • SCEP, APNs and ADE certificates.
  • A file with MySQL statements to import the records into a Fleet database.

Usage

The only requirement is to have a compatible version of Go installed, and a MicroMDM database.

Here's an example of how a successful run looks like:

$ go run tools/mdm/migration/micromdm/touchless/main.go --db ~/projects/micromdm/micromdm.db

2024/09/11 10:05:53 Open DB for devices
2024/09/11 10:05:53 Found 1 devices
2024/09/11 10:05:53 Wrote device/enrollment records to dump.sql
2024/09/11 10:05:53 Open DB for SCEP cert and key
2024/09/11 10:05:53 Wrote SCEP cert/key to scep.cert/scep.key