Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Configuration / StrongNameUtility.cs / 1305376 / StrongNameUtility.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System.Diagnostics; using System.IO; using System.Runtime.InteropServices; using System.Security.Permissions; using Microsoft.Runtime.Hosting; internal class StrongNameUtility { // Help class shouldn't be instantiated. private StrongNameUtility() { } internal static bool GenerateStrongNameFile(string filename) { // variables that hold the unmanaged key IntPtr keyBlob = IntPtr.Zero; int generatedSize = 0; // create the key bool createdKey = StrongNameHelpers.StrongNameKeyGen(null, 0 /*No flags. 1 is to save the key in the key container */, out keyBlob, out generatedSize); // if there was a problem, translate it and report it if (!createdKey || keyBlob == IntPtr.Zero) { throw Marshal.GetExceptionForHR(StrongNameHelpers.StrongNameErrorInfo()); } try { Debug.Assert(keyBlob != IntPtr.Zero); // make sure the key size makes sense Debug.Assert(generatedSize > 0 && generatedSize <= Int32.MaxValue); if (generatedSize <= 0 || generatedSize > Int32.MaxValue) { throw new InvalidOperationException(SR.GetString(SR.Browser_InvalidStrongNameKey)); } // get the key into managed memory byte[] key = new byte[generatedSize]; Marshal.Copy(keyBlob, key, 0, (int)generatedSize); // write the key to the specified file using (FileStream snkStream = new FileStream(filename, FileMode.Create, FileAccess.Write)) { using (BinaryWriter snkWriter = new BinaryWriter(snkStream)) { snkWriter.Write(key); } } } finally { // release the unmanaged memory the key resides in if (keyBlob != IntPtr.Zero) { StrongNameHelpers.StrongNameFreeBuffer(keyBlob); } } return true; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System.Diagnostics; using System.IO; using System.Runtime.InteropServices; using System.Security.Permissions; using Microsoft.Runtime.Hosting; internal class StrongNameUtility { // Help class shouldn't be instantiated. private StrongNameUtility() { } internal static bool GenerateStrongNameFile(string filename) { // variables that hold the unmanaged key IntPtr keyBlob = IntPtr.Zero; int generatedSize = 0; // create the key bool createdKey = StrongNameHelpers.StrongNameKeyGen(null, 0 /*No flags. 1 is to save the key in the key container */, out keyBlob, out generatedSize); // if there was a problem, translate it and report it if (!createdKey || keyBlob == IntPtr.Zero) { throw Marshal.GetExceptionForHR(StrongNameHelpers.StrongNameErrorInfo()); } try { Debug.Assert(keyBlob != IntPtr.Zero); // make sure the key size makes sense Debug.Assert(generatedSize > 0 && generatedSize <= Int32.MaxValue); if (generatedSize <= 0 || generatedSize > Int32.MaxValue) { throw new InvalidOperationException(SR.GetString(SR.Browser_InvalidStrongNameKey)); } // get the key into managed memory byte[] key = new byte[generatedSize]; Marshal.Copy(keyBlob, key, 0, (int)generatedSize); // write the key to the specified file using (FileStream snkStream = new FileStream(filename, FileMode.Create, FileAccess.Write)) { using (BinaryWriter snkWriter = new BinaryWriter(snkStream)) { snkWriter.Write(key); } } } finally { // release the unmanaged memory the key resides in if (keyBlob != IntPtr.Zero) { StrongNameHelpers.StrongNameFreeBuffer(keyBlob); } } return true; } } } // 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
- HtmlImage.cs
- cryptoapiTransform.cs
- TabControl.cs
- UriTemplateVariablePathSegment.cs
- DurationConverter.cs
- BooleanExpr.cs
- BamlResourceContent.cs
- HttpListener.cs
- XPathArrayIterator.cs
- _BufferOffsetSize.cs
- LogManagementAsyncResult.cs
- DiscreteKeyFrames.cs
- NetworkInformationException.cs
- TableItemStyle.cs
- processwaithandle.cs
- ParentQuery.cs
- KnownBoxes.cs
- DispatcherTimer.cs
- StylusPlugin.cs
- ExtenderControl.cs
- CapabilitiesSection.cs
- FileCodeGroup.cs
- PseudoWebRequest.cs
- GridPattern.cs
- codemethodreferenceexpression.cs
- AuthorizationRule.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- ViewUtilities.cs
- QuaternionValueSerializer.cs
- SID.cs
- InlineCollection.cs
- ResourcePart.cs
- Normalizer.cs
- EventProviderTraceListener.cs
- DataKeyCollection.cs
- CornerRadiusConverter.cs
- EncryptedPackageFilter.cs
- StyleCollection.cs
- MimeParameter.cs
- TripleDES.cs
- BitmapMetadataBlob.cs
- RtfControls.cs
- XmlSignificantWhitespace.cs
- Themes.cs
- SpellerInterop.cs
- ILGenerator.cs
- MsmqTransportBindingElement.cs
- ParagraphResult.cs
- MaterializeFromAtom.cs
- FixedElement.cs
- GridViewPageEventArgs.cs
- RealProxy.cs
- ReferenceService.cs
- Stopwatch.cs
- ListViewItemMouseHoverEvent.cs
- TreeChangeInfo.cs
- CacheRequest.cs
- CallbackHandler.cs
- Debugger.cs
- LayoutSettings.cs
- SchemaImporterExtension.cs
- InvalidCommandTreeException.cs
- DefaultProxySection.cs
- InstanceStoreQueryResult.cs
- TableRow.cs
- ToolStripDropTargetManager.cs
- XPathDocumentNavigator.cs
- ScalarOps.cs
- ConfigXmlSignificantWhitespace.cs
- Control.cs
- HyperlinkAutomationPeer.cs
- FormsAuthenticationUserCollection.cs
- DataColumnChangeEvent.cs
- Span.cs
- JpegBitmapEncoder.cs
- TrackingMemoryStream.cs
- OdbcUtils.cs
- HebrewCalendar.cs
- ImageDrawing.cs
- ClientOptions.cs
- ContextMenu.cs
- WebPartConnectionsConfigureVerb.cs
- ObjectTag.cs
- ToolStripButton.cs
- UnknownBitmapEncoder.cs
- Ref.cs
- ItemList.cs
- EntityProviderServices.cs
- EntitySqlQueryState.cs
- StandardToolWindows.cs
- TextReader.cs
- Int16KeyFrameCollection.cs
- ExpressionLexer.cs
- LeaseManager.cs
- PersistenceIOParticipant.cs
- WsatTransactionFormatter.cs
- MembershipSection.cs
- ProxyAttribute.cs
- XPathPatternBuilder.cs
- FileSystemEventArgs.cs