September, 2005
This library, ismacryp, implements the ISMA encryption and authentication protocol defined in "ISMA 1.0 Encryption and Authentication, Version 1.0" specification which is published on the ISMA web site. This specification is referred to as Ismacryp in the remainder of this README.
Certain portions of the protocol are not implemented: selective encryption which allows for the encryption of selected streaming packets and alternating keys.
The ismacryp lib utilizes a separate library, srtplib, for AES Integer Counter Mode encryption functions. The srtplib is not included in the mpeg4ip distribution. However, the ismacryp library implemented here will still operate correctly in the absence of the srtplib. All new mp4 atoms and headers in the case of streamed files are included in an Ismacryp file but the data will not be encrypted. The player will properly decode and play Ismacryp files or streams that are created without the encryption functions provided by srtplib.
To build and install mpeg4ip without srtplib, pass --disable-srtp
to configure
or bootstrap
.
To build and install mpeg4ip with srtplib, perform the following steps.
% configure --enable-generic
% make
% make install
By default libsrtp will install its libraries and header files in /usr/local/lib
and /usr/local/include/srtp
respectively. mpeg4ip will look for both in system-defined library and include paths. If it finds them it will automatically include them in the build unless --disable-srtp
is passed to configure
.
Prior to using Ismacryp functions, it necessary to provide a key file. The key file must be named .kms_data and a sample is included in this directory. This file must be placed in the home directory of the user running the mpeg4ip application.
Using Ismacryp functions (see the other project README files for more detailed information):
mp4creator -encrypt <filename>
. A new file named <enc-filename>
will be created.Functions provided by ismacryplib are described in ismacryp.h
alexv@cisco.com
will_clark@cisco.com