(Should I call this XML::AppleConfigProfile or XML::Apple::ConfigProfile ? I'm starting to lean to XML::Apple::ConfigProfile)
Apple provides users with a way to configure Apple devices (running iOS or Mac OS X) using ready-made configuration files, which Apple calls Configuration Profiles. This suite of Perl modules is intended to aid people who would like to generate their own configuration profiles, without having to mess around with the XML themselves.
Configuration profiles can be used by iOS and Mac OS X to set a number of general and user-specific items. Examples include:
Configuration profiles can be pre-made static files, or they can be dynamically-generated with configurations (such as usernames and passwords) that are specific to a user. Configuration profiles may be encrypted (so they may only be read on a specific device) and signed (to verify that they have not been modified by anyone other than the profile's creator).
The Configuration Profile Reference is publicly available here: https://developer.apple.com/library/ios/featuredarticles/iphoneconfigurationprofileref/iPhoneConfigurationProfileRef.pdf
My ultimate goal is to have a suite of modules that will be able to create, export, and import all of the configuration profile payload types defined in the reference above, with the ability to sign and encrypt. However, in order to get the software out sooner, here are the milestones I'm trying to meet, with releases happening as each milestone is met.
smimecommand (OpenSSL 0.9.8+).
cmscommand (OpenSSL 1+).
Unit tests will be created as code is written. Travis-CI and Coveralls.io are used to keep track of test success and code coverage.