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
- ParentUndoUnit.cs
- PointCollection.cs
- WebPartEventArgs.cs
- SingleAnimation.cs
- BoolExpression.cs
- HostProtectionException.cs
- ToolboxItemCollection.cs
- BoundColumn.cs
- SoapAttributeOverrides.cs
- InputLanguageCollection.cs
- WaitHandle.cs
- Point.cs
- SqlComparer.cs
- X509ClientCertificateCredentialsElement.cs
- PersonalizationStateQuery.cs
- PointHitTestResult.cs
- FileResponseElement.cs
- CodeComment.cs
- ScrollChangedEventArgs.cs
- SqlException.cs
- RightsManagementManager.cs
- DbDataSourceEnumerator.cs
- XslCompiledTransform.cs
- TextTreeRootTextBlock.cs
- FaultHandlingFilter.cs
- CharUnicodeInfo.cs
- StrokeCollectionConverter.cs
- WindowsGraphicsCacheManager.cs
- FlowDocumentReaderAutomationPeer.cs
- QueryOutputWriter.cs
- FloaterParaClient.cs
- Span.cs
- FormattedTextSymbols.cs
- FixedPageProcessor.cs
- XNodeNavigator.cs
- StructuralObject.cs
- PageStatePersister.cs
- BoundPropertyEntry.cs
- XsdBuilder.cs
- EditCommandColumn.cs
- RegistryDataKey.cs
- PathSegment.cs
- SemanticBasicElement.cs
- Geometry3D.cs
- CodeConditionStatement.cs
- GridViewRow.cs
- AesCryptoServiceProvider.cs
- XsdDataContractImporter.cs
- TcpStreams.cs
- SelectiveScrollingGrid.cs
- PriorityItem.cs
- MiniLockedBorderGlyph.cs
- HttpRequestCacheValidator.cs
- TreeNode.cs
- AddressingVersion.cs
- MetadataException.cs
- LogLogRecord.cs
- TextEndOfParagraph.cs
- NumberFunctions.cs
- ServiceOperationParameter.cs
- WorkflowViewManager.cs
- SelectionListComponentEditor.cs
- StorageComplexPropertyMapping.cs
- EventLogSession.cs
- HebrewCalendar.cs
- FakeModelPropertyImpl.cs
- IResourceProvider.cs
- PersonalizationAdministration.cs
- SimpleTypeResolver.cs
- CacheVirtualItemsEvent.cs
- SafeWaitHandle.cs
- HierarchicalDataBoundControlAdapter.cs
- TypefaceCollection.cs
- ISCIIEncoding.cs
- DataBindingCollection.cs
- HttpServerUtilityWrapper.cs
- XmlSchemaGroup.cs
- DataRelationPropertyDescriptor.cs
- Root.cs
- FileDialogCustomPlace.cs
- FlatButtonAppearance.cs
- DateBoldEvent.cs
- OracleException.cs
- RegexParser.cs
- Location.cs
- ReachPageContentCollectionSerializer.cs
- PlatformNotSupportedException.cs
- RuntimeConfigLKG.cs
- InputProcessorProfiles.cs
- ListItemCollection.cs
- ReadOnlyCollection.cs
- SingleStorage.cs
- ProfessionalColorTable.cs
- EventLog.cs
- basenumberconverter.cs
- DependencyObject.cs
- BindUriHelper.cs
- DataGridAddNewRow.cs
- ComponentEditorPage.cs
- XPathNode.cs