Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Security / Cryptography / RSAPKCS1SignatureFormatter.cs / 1305376 / RSAPKCS1SignatureFormatter.cs
using System.Diagnostics.Contracts; // ==++== // // 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"); Contract.EndContractBlock(); _rsaKey = (RSA) key; } // // public methods // public override void SetKey(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); Contract.EndContractBlock(); _rsaKey = (RSA) key; } public override void SetHashAlgorithm(String strName) { _strOID = CryptoConfig.MapNameToOID(strName); } [System.Security.SecuritySafeCritical] // auto-generated public override byte[] CreateSignature(byte[] rgbHash) { if (rgbHash == null) throw new ArgumentNullException("rgbHash"); Contract.EndContractBlock(); if (_strOID == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingOID")); if (_rsaKey == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingKey")); // 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); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System.Diagnostics.Contracts; // ==++== // // 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"); Contract.EndContractBlock(); _rsaKey = (RSA) key; } // // public methods // public override void SetKey(AsymmetricAlgorithm key) { if (key == null) throw new ArgumentNullException("key"); Contract.EndContractBlock(); _rsaKey = (RSA) key; } public override void SetHashAlgorithm(String strName) { _strOID = CryptoConfig.MapNameToOID(strName); } [System.Security.SecuritySafeCritical] // auto-generated public override byte[] CreateSignature(byte[] rgbHash) { if (rgbHash == null) throw new ArgumentNullException("rgbHash"); Contract.EndContractBlock(); if (_strOID == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingOID")); if (_rsaKey == null) throw new CryptographicUnexpectedOperationException(Environment.GetResourceString("Cryptography_MissingKey")); // 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); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DependencyProperty.cs
- SettingsContext.cs
- RedistVersionInfo.cs
- Shared.cs
- Expander.cs
- dataobject.cs
- WindowsRebar.cs
- querybuilder.cs
- ImageConverter.cs
- ConfigXmlCDataSection.cs
- versioninfo.cs
- AuthenticationService.cs
- ProtocolElementCollection.cs
- SymbolTable.cs
- EventWaitHandleSecurity.cs
- CodeStatementCollection.cs
- HtmlUtf8RawTextWriter.cs
- PartialCachingAttribute.cs
- TaskFileService.cs
- AddressingProperty.cs
- XmlWriterSettings.cs
- Odbc32.cs
- AnimatedTypeHelpers.cs
- ServerValidateEventArgs.cs
- DataStreamFromComStream.cs
- ButtonRenderer.cs
- TextFormatter.cs
- DataGridRow.cs
- MultipleViewProviderWrapper.cs
- TemplatePagerField.cs
- HelpEvent.cs
- ActiveXSite.cs
- filewebresponse.cs
- SiteMapSection.cs
- ConfigurationCollectionAttribute.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- MessageBuilder.cs
- HttpStreamXmlDictionaryWriter.cs
- QilName.cs
- JoinTreeSlot.cs
- CodeTypeDeclarationCollection.cs
- ExpressionVisitor.cs
- HiddenFieldPageStatePersister.cs
- InputScope.cs
- RecognizedPhrase.cs
- Gdiplus.cs
- SplitterCancelEvent.cs
- XPathNodeIterator.cs
- FixedDSBuilder.cs
- EventsTab.cs
- ExpressionNormalizer.cs
- BindStream.cs
- RichTextBox.cs
- CodeCompiler.cs
- EntityProviderServices.cs
- Frame.cs
- FieldValue.cs
- ResourcePermissionBaseEntry.cs
- AnnotationMap.cs
- CheckBoxFlatAdapter.cs
- HtmlGenericControl.cs
- SmtpCommands.cs
- WebPartDisplayModeEventArgs.cs
- LinearGradientBrush.cs
- PreservationFileReader.cs
- DoubleCollectionConverter.cs
- Trace.cs
- DesignBindingConverter.cs
- ImmutableClientRuntime.cs
- TransformDescriptor.cs
- HashCryptoHandle.cs
- DBDataPermission.cs
- PeerToPeerException.cs
- CapacityStreamGeometryContext.cs
- NativeMethods.cs
- MachineSettingsSection.cs
- SystemIPGlobalProperties.cs
- SQLDateTimeStorage.cs
- PerformanceCounterPermission.cs
- MsmqPoisonMessageException.cs
- PackagePart.cs
- XamlInterfaces.cs
- _HelperAsyncResults.cs
- AttributeXamlType.cs
- EdgeProfileValidation.cs
- AssemblySettingAttributes.cs
- BoundField.cs
- FixedTextPointer.cs
- BuildDependencySet.cs
- _SingleItemRequestCache.cs
- ThemeableAttribute.cs
- BasicKeyConstraint.cs
- MediaContextNotificationWindow.cs
- UserUseLicenseDictionaryLoader.cs
- ContractMapping.cs
- DelayedRegex.cs
- Int32AnimationUsingKeyFrames.cs
- AsyncContentLoadedEventArgs.cs
- ManagementClass.cs
- FactoryId.cs