Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // 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); } } } } // 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
- VisualStyleInformation.cs
- SqlDataSourceAdvancedOptionsForm.cs
- SoapFault.cs
- DependencyProperty.cs
- EntityContainer.cs
- ProgressBarBrushConverter.cs
- FontDialog.cs
- DynamicRendererThreadManager.cs
- ScrollContentPresenter.cs
- _ShellExpression.cs
- ConfigurationException.cs
- ControllableStoryboardAction.cs
- DataGridCell.cs
- SafePEFileHandle.cs
- GB18030Encoding.cs
- RemoteHelper.cs
- ConversionValidationRule.cs
- TransformedBitmap.cs
- TypedLocationWrapper.cs
- ClassHandlersStore.cs
- unsafeIndexingFilterStream.cs
- PositiveTimeSpanValidatorAttribute.cs
- SHA512Cng.cs
- ClaimTypeElement.cs
- SQLString.cs
- Size3D.cs
- XmlDownloadManager.cs
- PrivilegeNotHeldException.cs
- AmbientProperties.cs
- DropSource.cs
- GroupBox.cs
- EventPrivateKey.cs
- UnsafeNativeMethods.cs
- TableLayoutPanel.cs
- PropertyToken.cs
- CodeVariableDeclarationStatement.cs
- GeneralTransform3DCollection.cs
- ConnectionManagementElementCollection.cs
- DataGridViewColumnDesignTimeVisibleAttribute.cs
- ActivityCodeDomSerializationManager.cs
- dataSvcMapFileLoader.cs
- InkCanvas.cs
- PagedControl.cs
- ItemCollection.cs
- PartBasedPackageProperties.cs
- Serializer.cs
- Drawing.cs
- SqlBuilder.cs
- ValuePattern.cs
- CodeStatement.cs
- XmlCharType.cs
- CellNormalizer.cs
- SendMessageRecord.cs
- IdnMapping.cs
- WindowsIPAddress.cs
- VisualStyleTypesAndProperties.cs
- SupportsEventValidationAttribute.cs
- DataTemplateKey.cs
- OverflowException.cs
- ObjectPersistData.cs
- ToolboxItemAttribute.cs
- SQLStringStorage.cs
- IntegerFacetDescriptionElement.cs
- Logging.cs
- ContentTextAutomationPeer.cs
- _NativeSSPI.cs
- XmlWrappingWriter.cs
- AbstractSvcMapFileLoader.cs
- DeviceContext2.cs
- MenuItemStyle.cs
- ItemsControlAutomationPeer.cs
- ScrollableControl.cs
- ExtentKey.cs
- WizardSideBarListControlItem.cs
- PositiveTimeSpanValidatorAttribute.cs
- HyperLinkColumn.cs
- PartDesigner.cs
- DependencyObjectType.cs
- ManagedWndProcTracker.cs
- SystemDiagnosticsSection.cs
- UnsignedPublishLicense.cs
- AliasExpr.cs
- Addressing.cs
- EventMappingSettings.cs
- DataBindingCollection.cs
- ModelFunction.cs
- DataViewListener.cs
- ExtenderControl.cs
- FontStyles.cs
- HtmlFormParameterWriter.cs
- SignedInfo.cs
- RenamedEventArgs.cs
- WebControlsSection.cs
- DependencyObjectPropertyDescriptor.cs
- BevelBitmapEffect.cs
- SymLanguageVendor.cs
- SafeCoTaskMem.cs
- TouchFrameEventArgs.cs
- KeyboardNavigation.cs
- ModelItemKeyValuePair.cs