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
- Token.cs
- grammarelement.cs
- OrderedDictionaryStateHelper.cs
- PageFunction.cs
- TypeUtil.cs
- BulletedList.cs
- ProjectedWrapper.cs
- AsyncOperation.cs
- IntegerValidator.cs
- InternalRelationshipCollection.cs
- FileDialog_Vista.cs
- CompositeActivityMarkupSerializer.cs
- PathFigureCollection.cs
- Brush.cs
- XmlSchemaGroup.cs
- AccessDataSourceView.cs
- Propagator.ExtentPlaceholderCreator.cs
- RowToParametersTransformer.cs
- DispatchChannelSink.cs
- oledbmetadatacollectionnames.cs
- DragEventArgs.cs
- XmlAttributeAttribute.cs
- CommandDevice.cs
- ReadOnlyNameValueCollection.cs
- safelink.cs
- SignatureToken.cs
- UnsafeMethods.cs
- CollectionConverter.cs
- RichTextBox.cs
- ReplyAdapterChannelListener.cs
- WindowsAltTab.cs
- SqlRecordBuffer.cs
- WindowsGraphicsCacheManager.cs
- OrderedDictionary.cs
- AppSettingsReader.cs
- AuthenticationModuleElementCollection.cs
- PointAnimation.cs
- ListViewAutomationPeer.cs
- AuthorizationRule.cs
- RenderData.cs
- DataAccessor.cs
- VisualTreeUtils.cs
- ListViewDataItem.cs
- TextCompositionManager.cs
- Relationship.cs
- DBConnectionString.cs
- EventQueueState.cs
- MatrixTransform3D.cs
- DataStreamFromComStream.cs
- shaperfactoryquerycacheentry.cs
- RegistrationContext.cs
- NetMsmqSecurityElement.cs
- ObjectStateManager.cs
- Command.cs
- PreProcessInputEventArgs.cs
- SettingsAttributes.cs
- XmlObjectSerializerWriteContextComplex.cs
- LinkConverter.cs
- MsdtcClusterUtils.cs
- DesignerVerbCollection.cs
- EnterpriseServicesHelper.cs
- CorrelationRequestContext.cs
- DecoderFallback.cs
- CriticalHandle.cs
- DetailsViewPageEventArgs.cs
- ServiceInfo.cs
- compensatingcollection.cs
- MdImport.cs
- CodeTypeDeclaration.cs
- AssemblySettingAttributes.cs
- IndexingContentUnit.cs
- RtType.cs
- Vector3DCollectionConverter.cs
- InkSerializer.cs
- Preprocessor.cs
- ThreadAttributes.cs
- ICollection.cs
- BitmapDownload.cs
- BindingNavigator.cs
- NavigationWindow.cs
- XmlHierarchicalDataSourceView.cs
- SqlDataSourceSelectingEventArgs.cs
- FreezableCollection.cs
- ApplicationBuildProvider.cs
- XmlSchemaAnnotated.cs
- ReverseInheritProperty.cs
- glyphs.cs
- HttpSessionStateWrapper.cs
- ResourceSet.cs
- XmlCharCheckingReader.cs
- IpcClientChannel.cs
- EmissiveMaterial.cs
- XmlSerializerVersionAttribute.cs
- ReflectionServiceProvider.cs
- DateTimeOffset.cs
- WindowsFormsHelpers.cs
- CodeIdentifier.cs
- XMLUtil.cs
- TemplateInstanceAttribute.cs
- WebPartsPersonalization.cs