Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / System / Security / Cryptography / CngKeyCreationParameters.cs / 1305376 / CngKeyCreationParameters.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Security; using System.Security.Permissions; using System.Diagnostics.Contracts; namespace System.Security.Cryptography { ////// Settings to be applied to a CNG key before it is finalized. /// [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class CngKeyCreationParameters { private CngExportPolicies? m_exportPolicy; private CngKeyCreationOptions m_keyCreationOptions; private CngKeyUsages? m_keyUsage; private CngPropertyCollection m_parameters = new CngPropertyCollection(); private IntPtr m_parentWindowHandle; private CngProvider m_provider = CngProvider.MicrosoftSoftwareKeyStorageProvider; private CngUIPolicy m_uiPolicy; ////// How many times can this key be exported from the KSP /// public CngExportPolicies? ExportPolicy { get { return m_exportPolicy; } set { m_exportPolicy = value; } } ////// Flags controlling how to create the key /// public CngKeyCreationOptions KeyCreationOptions { get { return m_keyCreationOptions; } set { m_keyCreationOptions = value; } } ////// Which cryptographic operations are valid for use with this key /// public CngKeyUsages? KeyUsage { get { return m_keyUsage; } set { m_keyUsage = value; } } ////// Window handle to use as the parent for the dialog shown when the key is created /// public IntPtr ParentWindowHandle { get { return m_parentWindowHandle; } [SecurityPermission(SecurityAction.Demand, UnmanagedCode = true)] set { m_parentWindowHandle = value; } } ////// Extra parameter values to set before the key is finalized /// public CngPropertyCollection Parameters { [SecurityPermission(SecurityAction.Demand, UnmanagedCode = true)] get { Contract.Ensures(Contract.Result() != null); return m_parameters; } } /// /// Internal access to the parameters method without a demand /// internal CngPropertyCollection ParametersNoDemand { get { Contract.Ensures(Contract.Result() != null); return m_parameters; } } /// /// KSP to create the key in /// public CngProvider Provider { get { Contract.Ensures(Contract.Result() != null); return m_provider; } set { if (value == null) { throw new ArgumentNullException("value"); } m_provider = value; } } /// /// Settings for UI shown on access to the key /// public CngUIPolicy UIPolicy { get { return m_uiPolicy; } [HostProtection(Action = SecurityAction.Demand, UI = true)] [UIPermission(SecurityAction.Demand, Window = UIPermissionWindow.SafeSubWindows)] set { m_uiPolicy = value; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Security; using System.Security.Permissions; using System.Diagnostics.Contracts; namespace System.Security.Cryptography { ////// Settings to be applied to a CNG key before it is finalized. /// [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public sealed class CngKeyCreationParameters { private CngExportPolicies? m_exportPolicy; private CngKeyCreationOptions m_keyCreationOptions; private CngKeyUsages? m_keyUsage; private CngPropertyCollection m_parameters = new CngPropertyCollection(); private IntPtr m_parentWindowHandle; private CngProvider m_provider = CngProvider.MicrosoftSoftwareKeyStorageProvider; private CngUIPolicy m_uiPolicy; ////// How many times can this key be exported from the KSP /// public CngExportPolicies? ExportPolicy { get { return m_exportPolicy; } set { m_exportPolicy = value; } } ////// Flags controlling how to create the key /// public CngKeyCreationOptions KeyCreationOptions { get { return m_keyCreationOptions; } set { m_keyCreationOptions = value; } } ////// Which cryptographic operations are valid for use with this key /// public CngKeyUsages? KeyUsage { get { return m_keyUsage; } set { m_keyUsage = value; } } ////// Window handle to use as the parent for the dialog shown when the key is created /// public IntPtr ParentWindowHandle { get { return m_parentWindowHandle; } [SecurityPermission(SecurityAction.Demand, UnmanagedCode = true)] set { m_parentWindowHandle = value; } } ////// Extra parameter values to set before the key is finalized /// public CngPropertyCollection Parameters { [SecurityPermission(SecurityAction.Demand, UnmanagedCode = true)] get { Contract.Ensures(Contract.Result() != null); return m_parameters; } } /// /// Internal access to the parameters method without a demand /// internal CngPropertyCollection ParametersNoDemand { get { Contract.Ensures(Contract.Result() != null); return m_parameters; } } /// /// KSP to create the key in /// public CngProvider Provider { get { Contract.Ensures(Contract.Result() != null); return m_provider; } set { if (value == null) { throw new ArgumentNullException("value"); } m_provider = value; } } /// /// Settings for UI shown on access to the key /// public CngUIPolicy UIPolicy { get { return m_uiPolicy; } [HostProtection(Action = SecurityAction.Demand, UI = true)] [UIPermission(SecurityAction.Demand, Window = UIPermissionWindow.SafeSubWindows)] set { m_uiPolicy = value; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HatchBrush.cs
- WebPartEditorApplyVerb.cs
- pingexception.cs
- MobileRedirect.cs
- ComponentChangingEvent.cs
- SchemaCompiler.cs
- MLangCodePageEncoding.cs
- TimeSpanSecondsConverter.cs
- ScopeCompiler.cs
- ImmutableObjectAttribute.cs
- ProtocolsConfiguration.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- ButtonFieldBase.cs
- InstanceContext.cs
- MatrixCamera.cs
- UserInitiatedNavigationPermission.cs
- GridViewCancelEditEventArgs.cs
- PassportAuthenticationEventArgs.cs
- XmlElementElement.cs
- ProtectedConfigurationProviderCollection.cs
- IChannel.cs
- SqlDuplicator.cs
- ModelTypeConverter.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- Soap.cs
- DataStorage.cs
- RelationshipConstraintValidator.cs
- TagPrefixAttribute.cs
- QueryContinueDragEventArgs.cs
- SoapWriter.cs
- AsyncPostBackErrorEventArgs.cs
- SymbolPair.cs
- DragEventArgs.cs
- DispatcherHookEventArgs.cs
- ListViewItemEventArgs.cs
- PeerDuplexChannelListener.cs
- DataGridViewTextBoxCell.cs
- TextComposition.cs
- SourceFilter.cs
- DbParameterCollection.cs
- SpnegoTokenProvider.cs
- PackageDigitalSignature.cs
- TreeIterator.cs
- EUCJPEncoding.cs
- basevalidator.cs
- UnsafeNativeMethods.cs
- CompiledQuery.cs
- PeerNameRecordCollection.cs
- RedirectionProxy.cs
- X509WindowsSecurityToken.cs
- ObjectItemNoOpAssemblyLoader.cs
- MetabaseSettingsIis7.cs
- CompiledIdentityConstraint.cs
- ColorAnimation.cs
- XmlSequenceWriter.cs
- WriteableBitmap.cs
- CatalogPartChrome.cs
- WebPartsPersonalizationAuthorization.cs
- XmlSchema.cs
- PropertyPathWorker.cs
- KeyedByTypeCollection.cs
- AutomationTextAttribute.cs
- UriWriter.cs
- Logging.cs
- CultureInfo.cs
- SoapEnumAttribute.cs
- DataListItemCollection.cs
- ItemDragEvent.cs
- DoubleUtil.cs
- GorillaCodec.cs
- WmfPlaceableFileHeader.cs
- SkinBuilder.cs
- ConfigurationErrorsException.cs
- IxmlLineInfo.cs
- WorkflowTransactionOptions.cs
- WhiteSpaceTrimStringConverter.cs
- SafePointer.cs
- DetailsViewInsertEventArgs.cs
- WebPartEventArgs.cs
- Message.cs
- ParserExtension.cs
- ControlUtil.cs
- ProcessModuleCollection.cs
- TransformedBitmap.cs
- VScrollProperties.cs
- LoadMessageLogger.cs
- SupportingTokenAuthenticatorSpecification.cs
- UpdateTranslator.cs
- OpCodes.cs
- ApplyImportsAction.cs
- ManifestResourceInfo.cs
- MobileTemplatedControlDesigner.cs
- SoapSchemaImporter.cs
- OdbcCommand.cs
- FocusTracker.cs
- ColumnMapCopier.cs
- RegexCaptureCollection.cs
- XamlPoint3DCollectionSerializer.cs
- ColumnCollection.cs
- InstanceCreationEditor.cs