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
- TypedAsyncResult.cs
- NameValuePair.cs
- ServiceModelConfiguration.cs
- HierarchicalDataSourceIDConverter.cs
- SrgsRuleRef.cs
- ObjectResult.cs
- GenericUI.cs
- Dictionary.cs
- KeyboardDevice.cs
- QueryResponse.cs
- TileModeValidation.cs
- TypeSystem.cs
- X509RecipientCertificateServiceElement.cs
- control.ime.cs
- DefaultBindingPropertyAttribute.cs
- XXXInfos.cs
- MethodAccessException.cs
- basevalidator.cs
- SpeechDetectedEventArgs.cs
- CompositionTarget.cs
- LayoutTableCell.cs
- CryptoConfig.cs
- ThemeDirectoryCompiler.cs
- LocationUpdates.cs
- SrgsItemList.cs
- HtmlMeta.cs
- Normalization.cs
- ByteStorage.cs
- CalendarButtonAutomationPeer.cs
- QilValidationVisitor.cs
- DataGridToolTip.cs
- QilFunction.cs
- _TLSstream.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- SeverityFilter.cs
- ClientTargetSection.cs
- ServerValidateEventArgs.cs
- GAC.cs
- RepeaterItemCollection.cs
- Nodes.cs
- HashHelpers.cs
- KeyboardDevice.cs
- PaginationProgressEventArgs.cs
- OdbcUtils.cs
- SqlServer2KCompatibilityAnnotation.cs
- DataRecord.cs
- ScrollBarAutomationPeer.cs
- DataTableReaderListener.cs
- CodeCommentStatementCollection.cs
- PropertyGridCommands.cs
- PhysicalFontFamily.cs
- BuiltInExpr.cs
- SourceFileBuildProvider.cs
- ScriptingRoleServiceSection.cs
- LicenseManager.cs
- ListView.cs
- MessageSmuggler.cs
- SeverityFilter.cs
- LabelDesigner.cs
- ActionMismatchAddressingException.cs
- TaskForm.cs
- SqlTypeSystemProvider.cs
- ScaleTransform.cs
- AsyncResult.cs
- indexingfiltermarshaler.cs
- LicenseProviderAttribute.cs
- TableParagraph.cs
- ControlBindingsCollection.cs
- RuleAttributes.cs
- SqlDelegatedTransaction.cs
- XmlIlGenerator.cs
- EmptyReadOnlyDictionaryInternal.cs
- ExponentialEase.cs
- Int16AnimationBase.cs
- AssociationSet.cs
- AutoFocusStyle.xaml.cs
- XamlSerializer.cs
- CookieProtection.cs
- SiteMapNode.cs
- Model3DCollection.cs
- GeometryCombineModeValidation.cs
- SQLDateTime.cs
- CompilationLock.cs
- SystemPens.cs
- FeatureSupport.cs
- WebPartEventArgs.cs
- PackageRelationshipCollection.cs
- ProcessModelInfo.cs
- ViewStateException.cs
- CursorConverter.cs
- WebException.cs
- DSASignatureFormatter.cs
- XsltContext.cs
- CompilationSection.cs
- XmlSchemaSimpleContentExtension.cs
- ParseNumbers.cs
- ArrayTypeMismatchException.cs
- ObjectNavigationPropertyMapping.cs
- UriParserTemplates.cs
- OperandQuery.cs