/// <summary>
/// CertificatePart constructor
/// </summary>
internal CertificatePart(System.IO.Packaging.Package container, Uri partName)
{
if (container == null)
{
throw new ArgumentNullException("container");
}
if (partName == null)
{
throw new ArgumentNullException("partName");
}
partName = PackUriHelper.ValidatePartUri(partName);
// create if not found
if (container.PartExists(partName))
{
// open the part
_part = container.GetPart(partName);
// ensure the part is of the expected type
if (_part.ValidatedContentType().AreTypeAndSubTypeEqual(_certificatePartContentType) == false)
{
throw new FileFormatException(SR.CertificatePartContentTypeMismatch);
}
}
else
{
// create the part
_part = container.CreatePart(partName, _certificatePartContentType.ToString());
}
}