in src/PFXImportPowershell/PFXImportPS/cmdlets/NewUserPFXCertificate.cs [228:287]
private void ValidateParameters()
{
const string ProviderNameVariable = "EncryptPFXFilesProviderName";
const string KeyNameVariable = "EncryptPFXFilesKeyName";
const string IntendedPurposeVariable = "EncryptPFXFilesIntendedPurpose";
const string PaddingSchemeVariable = "EncryptPFXFilesPaddingScheme";
// Get Session Variable for ProviderName if one wasn't supplied.
if (!string.IsNullOrEmpty(ProviderName))
{
SessionState.PSVariable.Set(ProviderNameVariable, ProviderName);
}
else
{
ProviderName = SessionState.PSVariable.GetValue(ProviderNameVariable, string.Empty).ToString();
}
// Get Session Variable for KeyName if one wasn't supplied.
if (!string.IsNullOrEmpty(KeyName))
{
SessionState.PSVariable.Set(KeyNameVariable, KeyName);
}
else
{
KeyName = SessionState.PSVariable.GetValue(KeyNameVariable, string.Empty).ToString();
}
if (string.IsNullOrEmpty(KeyFilePath) && (string.IsNullOrEmpty(KeyName) || string.IsNullOrEmpty(ProviderName)))
{
ThrowTerminatingError(
new ErrorRecord(
new ArgumentException("KeyFilePath or ProviderName and KeyName is required."),
Guid.NewGuid().ToString(),
ErrorCategory.InvalidArgument,
null));
}
// Get Session Variable for IntendedPurpose if one wasn't supplied. Default to Unassigned if never supplied.
if (IntendedPurpose != null)
{
SessionState.PSVariable.Set(IntendedPurposeVariable, IntendedPurpose);
}
else
{
IntendedPurpose = (UserPfxIntendedPurpose)SessionState.PSVariable.GetValue(IntendedPurposeVariable, 0);
}
// Get Session Variable for Padding Scheme if one wasn't supplied. Default to None if never supplied.
#pragma warning disable CS0618 // Type or member is obsolete
if (PaddingScheme != null)
{
SessionState.PSVariable.Set(PaddingSchemeVariable, PaddingScheme);
}
else
{
PaddingScheme = (UserPfxPaddingScheme)SessionState.PSVariable.GetValue(PaddingSchemeVariable, 0);
}
#pragma warning restore CS0618 // Type or member is obsolete
}