Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Tools / WSATConfig / Configuration / SafeCertificateContext.cs / 1305376 / SafeCertificateContext.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace Microsoft.Tools.ServiceModel.WsatConfig
{
using System;
using System.Security;
using System.Security.Permissions;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
using System.Runtime.ConstrainedExecution;
using Microsoft.Win32.SafeHandles;
using System.Security.Cryptography.X509Certificates;
internal sealed class SafeCertificateContext : SafeHandleZeroOrMinusOneIsInvalid
{
[SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode = true)]
internal SafeCertificateContext() : base(false) { }
public override bool IsInvalid
{
get
{
return handle == IntPtr.Zero;
}
}
protected override bool ReleaseHandle()
{
// Returns a Win32 error code, 0 for success
int r = SafeNativeMethods.CertFreeCertificateContext(handle);
return r == 0;
}
internal X509Certificate2 GetNewX509Certificate()
{
return new X509Certificate2(handle);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace Microsoft.Tools.ServiceModel.WsatConfig
{
using System;
using System.Security;
using System.Security.Permissions;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
using System.Runtime.ConstrainedExecution;
using Microsoft.Win32.SafeHandles;
using System.Security.Cryptography.X509Certificates;
internal sealed class SafeCertificateContext : SafeHandleZeroOrMinusOneIsInvalid
{
[SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode = true)]
internal SafeCertificateContext() : base(false) { }
public override bool IsInvalid
{
get
{
return handle == IntPtr.Zero;
}
}
protected override bool ReleaseHandle()
{
// Returns a Win32 error code, 0 for success
int r = SafeNativeMethods.CertFreeCertificateContext(handle);
return r == 0;
}
internal X509Certificate2 GetNewX509Certificate()
{
return new X509Certificate2(handle);
}
}
}
// 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
- Padding.cs
- AudioFormatConverter.cs
- HandlerFactoryWrapper.cs
- State.cs
- DispatcherObject.cs
- NameValueConfigurationCollection.cs
- BindingExpression.cs
- EnvelopedSignatureTransform.cs
- CLRBindingWorker.cs
- DesignerAttribute.cs
- BindingWorker.cs
- DataGridViewColumnConverter.cs
- Config.cs
- TransformerInfo.cs
- EncryptedPackageFilter.cs
- FullTextState.cs
- TextControlDesigner.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- OleDbConnection.cs
- HierarchicalDataBoundControl.cs
- SpellerStatusTable.cs
- XmlSchemaAttributeGroupRef.cs
- StylusLogic.cs
- UniqueIdentifierService.cs
- CqlIdentifiers.cs
- SystemColors.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- MobileListItem.cs
- HyperLinkColumn.cs
- TextServicesHost.cs
- GCHandleCookieTable.cs
- TagPrefixAttribute.cs
- DataRelationPropertyDescriptor.cs
- EventToken.cs
- JapaneseLunisolarCalendar.cs
- WebPartDisplayMode.cs
- Win32SafeHandles.cs
- XmlSchemaFacet.cs
- DataGridItemEventArgs.cs
- LoadedOrUnloadedOperation.cs
- GiveFeedbackEventArgs.cs
- unitconverter.cs
- GenericTypeParameterBuilder.cs
- ToolBarTray.cs
- RadialGradientBrush.cs
- DbConnectionHelper.cs
- BitmapEffectState.cs
- WebPartAddingEventArgs.cs
- QueryExpr.cs
- BuildProviderAppliesToAttribute.cs
- AbandonedMutexException.cs
- OperationResponse.cs
- NonClientArea.cs
- IdnElement.cs
- HttpRequestWrapper.cs
- EllipticalNodeOperations.cs
- CodeTryCatchFinallyStatement.cs
- PropertyMappingExceptionEventArgs.cs
- FileCodeGroup.cs
- CodeLinePragma.cs
- Parameter.cs
- ExceptionAggregator.cs
- RuntimeCompatibilityAttribute.cs
- ReceiveCompletedEventArgs.cs
- MetadataCollection.cs
- AssemblyFilter.cs
- DataGridViewCellCancelEventArgs.cs
- RadioButton.cs
- SchemaComplexType.cs
- HttpCachePolicyWrapper.cs
- SoundPlayer.cs
- Style.cs
- FontStretch.cs
- ChooseAction.cs
- ElementMarkupObject.cs
- DataSvcMapFileSerializer.cs
- StrongNameIdentityPermission.cs
- XmlElementAttribute.cs
- NamespaceList.cs
- TextPattern.cs
- PolicyReader.cs
- BuildManager.cs
- Model3D.cs
- typedescriptorpermission.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- EpmSyndicationContentSerializer.cs
- FrameDimension.cs
- SqlRewriteScalarSubqueries.cs
- SocketPermission.cs
- CodeTypeReference.cs
- BinaryObjectWriter.cs
- EditingCommands.cs
- DisplayMemberTemplateSelector.cs
- ToolStripButton.cs
- SourceElementsCollection.cs
- FunctionDetailsReader.cs
- XPathParser.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- SimpleMailWebEventProvider.cs
- DataGridItemCollection.cs