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
- NamedPipeChannelFactory.cs
- FormatConvertedBitmap.cs
- TabRenderer.cs
- serverconfig.cs
- CookieParameter.cs
- ContractSearchPattern.cs
- DocumentAutomationPeer.cs
- ListBoxItemAutomationPeer.cs
- WindowProviderWrapper.cs
- ConfigurationLoaderException.cs
- Rotation3DAnimationUsingKeyFrames.cs
- ProcessModuleCollection.cs
- CompositeDataBoundControl.cs
- ThreadPool.cs
- _AuthenticationState.cs
- _ConnectionGroup.cs
- ScrollEvent.cs
- ExpressionPrefixAttribute.cs
- ZipIOCentralDirectoryFileHeader.cs
- MustUnderstandSoapException.cs
- DynamicVirtualDiscoSearcher.cs
- HttpResponse.cs
- EditingCommands.cs
- MsmqReceiveHelper.cs
- CatalogPart.cs
- CollectionContainer.cs
- StrokeCollection.cs
- RefreshEventArgs.cs
- WindowsIPAddress.cs
- TextServicesHost.cs
- DoubleCollectionValueSerializer.cs
- ContextStaticAttribute.cs
- WorkflowMessageEventHandler.cs
- AssemblyInfo.cs
- RegexTree.cs
- GroupDescription.cs
- Mutex.cs
- HttpCapabilitiesSectionHandler.cs
- _StreamFramer.cs
- SimpleBitVector32.cs
- TouchesOverProperty.cs
- EdmRelationshipRoleAttribute.cs
- EndpointPerformanceCounters.cs
- ViewPort3D.cs
- SqlUnionizer.cs
- ResourceDisplayNameAttribute.cs
- WebPartMovingEventArgs.cs
- SchemaInfo.cs
- OperationCanceledException.cs
- dtdvalidator.cs
- MarkupObject.cs
- AuthorizationRuleCollection.cs
- CompiledQuery.cs
- NameValueCollection.cs
- sqlcontext.cs
- EntityContainerEntitySet.cs
- CompleteWizardStep.cs
- RegexBoyerMoore.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- DataRecordInfo.cs
- SafeFileMappingHandle.cs
- HttpResponseInternalWrapper.cs
- KeyedPriorityQueue.cs
- ADConnectionHelper.cs
- TextTreeFixupNode.cs
- _ConnectOverlappedAsyncResult.cs
- HMACSHA1.cs
- HwndTarget.cs
- DataSetMappper.cs
- SessionStateItemCollection.cs
- DbConnectionOptions.cs
- FormatVersion.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- Image.cs
- StyleSelector.cs
- Point4DConverter.cs
- ProcessThread.cs
- HtmlFormParameterReader.cs
- ViewBox.cs
- GACMembershipCondition.cs
- SerializationAttributes.cs
- StylusEditingBehavior.cs
- PropertyDescriptorComparer.cs
- ScrollEventArgs.cs
- SupportingTokenAuthenticatorSpecification.cs
- DataGridColumnEventArgs.cs
- MultiTrigger.cs
- ExpressionBuilder.cs
- XmlSchemaGroupRef.cs
- CheckBoxList.cs
- BindingNavigator.cs
- EncryptedPackage.cs
- RemoteWebConfigurationHost.cs
- DbExpressionVisitor.cs
- MethodRental.cs
- CorrelationInitializer.cs
- CompilerError.cs
- OleDbDataAdapter.cs
- NTAccount.cs
- SoapFault.cs