Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / clr / src / BCL / System / Security / Cryptography / RSAPKCS1SignatureFormatter.cs / 1 / RSAPKCS1SignatureFormatter.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // // RSAPKCS1SignatureFormatter.cs // namespace System.Security.Cryptography { [System.Runtime.InteropServices.ComVisible(true)] public class RSAPKCS1SignatureFormatter : AsymmetricSignatureFormatter { private RSA _rsaKey; private String _strOID; // // public constructors // public RSAPKCS1SignatureFormatter() {} public RSAPKCS1SignatureFormatter(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); _rsaKey = (RSA) key; } // // public methods // public override void SetKey(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); _rsaKey = (RSA) key; } public override void SetHashAlgorithm(String strName) { _strOID = CryptoConfig.MapNameToOID(strName); } public override byte[] CreateSignature(byte[] rgbHash) { if (_strOID == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingOID")); if (_rsaKey == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingKey")); if (rgbHash == null) throw new ArgumentNullException("rgbHash"); // Two cases here -- if we are talking to the CSP version or if we are talking to some other RSA provider. if (_rsaKey is RSACryptoServiceProvider) { return ((RSACryptoServiceProvider) _rsaKey).SignHash(rgbHash, _strOID); } else { byte[] pad = Utils.RsaPkcs1Padding(_rsaKey, CryptoConfig.EncodeOID(_strOID), rgbHash); // Create the signature by applying the private key to the padded buffer we just created. return _rsaKey.DecryptValue(pad); } } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HttpWebResponse.cs
- ManipulationPivot.cs
- LabelEditEvent.cs
- ModelService.cs
- AgileSafeNativeMemoryHandle.cs
- ColumnPropertiesGroup.cs
- AlignmentYValidation.cs
- Error.cs
- WebCategoryAttribute.cs
- ColumnCollection.cs
- EntityDataSourceWizardForm.cs
- UTF8Encoding.cs
- RoutedCommand.cs
- ExtensionWindow.cs
- SizeChangedEventArgs.cs
- QuaternionRotation3D.cs
- SecurityTokenSpecification.cs
- MediaScriptCommandRoutedEventArgs.cs
- CodeMethodInvokeExpression.cs
- wmiprovider.cs
- ObjectStateManagerMetadata.cs
- SQLInt64Storage.cs
- XmlSortKey.cs
- InvalidCastException.cs
- InstalledFontCollection.cs
- XmlNamespaceMapping.cs
- DiscoveryClientDocuments.cs
- DoubleAnimationBase.cs
- GridViewCellAutomationPeer.cs
- Stack.cs
- BrowserCapabilitiesCodeGenerator.cs
- BamlResourceContent.cs
- PasswordPropertyTextAttribute.cs
- PersistenceProviderDirectory.cs
- ShapeTypeface.cs
- FileUtil.cs
- ExceptionCollection.cs
- TrustExchangeException.cs
- ClrPerspective.cs
- TreeViewImageIndexConverter.cs
- BinaryReader.cs
- WeakReferenceEnumerator.cs
- MinimizableAttributeTypeConverter.cs
- EnlistmentState.cs
- StateChangeEvent.cs
- CounterSampleCalculator.cs
- DuplicateWaitObjectException.cs
- DisplayInformation.cs
- TextControlDesigner.cs
- EasingQuaternionKeyFrame.cs
- RecordsAffectedEventArgs.cs
- OleDbError.cs
- GroupJoinQueryOperator.cs
- DelegateArgumentReference.cs
- BufferModeSettings.cs
- InstanceDescriptor.cs
- PublisherMembershipCondition.cs
- TCPListener.cs
- ListView.cs
- Stylesheet.cs
- C14NUtil.cs
- GeneralEndpointIdentity.cs
- SchemaSetCompiler.cs
- SoapTransportImporter.cs
- Marshal.cs
- FormParameter.cs
- RIPEMD160.cs
- ModuleBuilderData.cs
- AncillaryOps.cs
- Convert.cs
- XmlTextReader.cs
- WsdlImporterElementCollection.cs
- SqlTypeConverter.cs
- DataFormats.cs
- BStrWrapper.cs
- LicenseManager.cs
- EntityClientCacheEntry.cs
- ComPlusAuthorization.cs
- HtmlTernaryTree.cs
- DeviceContext2.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- ProcessModelSection.cs
- WebZone.cs
- PageHandlerFactory.cs
- DataBinder.cs
- ReadOnlyAttribute.cs
- SignatureResourcePool.cs
- PageBorderless.cs
- ProxyHelper.cs
- DataGridViewCheckBoxCell.cs
- ISAPIRuntime.cs
- ValueTable.cs
- TextBoxBase.cs
- JournalEntryListConverter.cs
- QuadraticBezierSegment.cs
- IFlowDocumentViewer.cs
- ISFTagAndGuidCache.cs
- ChooseAction.cs
- XmlBindingWorker.cs
- BlobPersonalizationState.cs