Create and sign iOS and mac mobileconfig configuration files.
This module has been bassed off of the previous work done by andris9/mobileconfig and converted to be an ES6 module and use classes for creating profiles with multiple configuration payloads.
Currently this module supports adding the following payloads to a profile:
- ActiveDirectoryCertificatePayload
- AirPlayPayload
- AirPlaySecurityPayload
- AirPrintPayload
- APNPayload
- AppLockPayload
- CalDAVPayload
- CalendarSubscriptionPayload
- CardDAVPayload
- CertificatePayload
- CertificatePreferencePayload
- WebClipPayload
- WiFiPayload
and for any other payload or a custom payload you can use the RawPayload.
Profile signing is handled by jsrsasign allowing the profile to be signed on any platform that supports Node.JS.
This package can be both required and imported into your application by using the following:
const mobileconfig = require('@carboncollins/mobileconfig');
import mobileconfig from '@carboncollins/mobileconfig';
example for creating and generating a mobile profile with an airplay payload:
const profile = new mobileconfig.MobileConfigProfile({
displayName: 'Test Profile',
description: 'A test profile to see if it works',
identifier: 'com.mobileconfig.testprofile',
organization: 'mobileconfig',
durationUntilRemoval: 60
});
profile.addPayload(new mobileconfig.AirPlayPayload({
whitelist: [{ deviceId: 'xx:xx:xx:xx:xx:xx' }],
passwords:[{ deviceName: 'test airplay device', deviceId: 'xx:xx:xx:xx:xx:xx', password: 'testpassword' }],
displayName: 'airplay device'
}));
console.log(mobileconfig.generatePropertyList(profile))
for documentation on this module please checkout the API Docs
There is a known issue with signing profiles which is currently being looked into
MIT