Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SqlCacheDependencySection.cs
- DesignerActionKeyboardBehavior.cs
- LineInfo.cs
- WebReferenceOptions.cs
- SoundPlayer.cs
- TabletDevice.cs
- FontFamilyIdentifier.cs
- SmtpDateTime.cs
- ProgressPage.cs
- ObjectSecurity.cs
- MulticastDelegate.cs
- DataContext.cs
- InnerItemCollectionView.cs
- WebPartCatalogAddVerb.cs
- TdsEnums.cs
- TransformConverter.cs
- Italic.cs
- SplitterPanel.cs
- SourceLineInfo.cs
- EmptyQuery.cs
- StateMachine.cs
- WindowsTokenRoleProvider.cs
- NameValueConfigurationCollection.cs
- DataGridViewTopLeftHeaderCell.cs
- KnownTypesHelper.cs
- StringDictionaryWithComparer.cs
- DetailsViewAutoFormat.cs
- ReferentialConstraint.cs
- BufferedStream.cs
- ReferenceTypeElement.cs
- EncoderParameters.cs
- DesignerFrame.cs
- WindowHideOrCloseTracker.cs
- CodeDelegateCreateExpression.cs
- CultureTable.cs
- MD5CryptoServiceProvider.cs
- Int32Storage.cs
- BehaviorEditorPart.cs
- BasicCellRelation.cs
- PolyBezierSegmentFigureLogic.cs
- ToolstripProfessionalRenderer.cs
- MetadataCacheItem.cs
- CompiledQueryCacheKey.cs
- TableSectionStyle.cs
- Lock.cs
- TypeForwardedToAttribute.cs
- StyleXamlParser.cs
- ApplicationCommands.cs
- HttpConfigurationSystem.cs
- TraceFilter.cs
- OverlappedAsyncResult.cs
- SessionStateContainer.cs
- SqlConnectionPoolGroupProviderInfo.cs
- ImageMapEventArgs.cs
- StringFormat.cs
- SmiMetaDataProperty.cs
- Substitution.cs
- ConstructorNeedsTagAttribute.cs
- ColumnResizeAdorner.cs
- ListItemConverter.cs
- RNGCryptoServiceProvider.cs
- UpdatePanelControlTrigger.cs
- BitmapMetadataEnumerator.cs
- ChangeProcessor.cs
- BitmapMetadata.cs
- HeaderUtility.cs
- MenuScrollingVisibilityConverter.cs
- SmtpAuthenticationManager.cs
- ReverseInheritProperty.cs
- ThreadNeutralSemaphore.cs
- FileVersion.cs
- DefaultCommandExtensionCallback.cs
- ReadWriteObjectLock.cs
- DocumentSchemaValidator.cs
- TemplateControl.cs
- GrammarBuilderRuleRef.cs
- ProcessStartInfo.cs
- HttpResponse.cs
- HyperLink.cs
- SchemaLookupTable.cs
- TextWriterTraceListener.cs
- ListenerElementsCollection.cs
- ResourceReferenceExpression.cs
- ClientTarget.cs
- CompositeActivityDesigner.cs
- AnonymousIdentificationModule.cs
- ApplicationFileParser.cs
- DecodeHelper.cs
- WebMessageBodyStyleHelper.cs
- XmlSchemaSimpleTypeList.cs
- TextTreeDeleteContentUndoUnit.cs
- TreeNode.cs
- Currency.cs
- Border.cs
- SettingsPropertyNotFoundException.cs
- DataBoundLiteralControl.cs
- ResourceBinder.cs
- InternalMappingException.cs
- TextDecorations.cs
- MatrixTransform.cs