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
- Select.cs
- AudioStateChangedEventArgs.cs
- IDispatchConstantAttribute.cs
- Soap.cs
- ImageSourceConverter.cs
- IncrementalReadDecoders.cs
- DataGridViewTopLeftHeaderCell.cs
- ArgumentNullException.cs
- UrlPath.cs
- Drawing.cs
- DictionaryContent.cs
- EntityCommandDefinition.cs
- TrackingMemoryStreamFactory.cs
- CodeTryCatchFinallyStatement.cs
- DataServiceQuery.cs
- Point3DValueSerializer.cs
- CharConverter.cs
- XmlSchemaParticle.cs
- ServiceHttpHandlerFactory.cs
- ServiceModelSectionGroup.cs
- DiscoveryDocumentReference.cs
- ToolCreatedEventArgs.cs
- SubpageParagraph.cs
- WindowsGraphics.cs
- Stylesheet.cs
- CodeIndexerExpression.cs
- SqlMethodTransformer.cs
- AssemblyHash.cs
- AddressAccessDeniedException.cs
- DataGridViewHitTestInfo.cs
- QueuePropertyVariants.cs
- SqlDataSourceCommandEventArgs.cs
- Boolean.cs
- VectorCollectionValueSerializer.cs
- SQLInt64.cs
- StatusBarDrawItemEvent.cs
- ReferentialConstraint.cs
- EventLogPermissionEntry.cs
- TranslateTransform3D.cs
- PriorityBindingExpression.cs
- ToolStripItemCollection.cs
- ApplicationBuildProvider.cs
- SynchronizedInputProviderWrapper.cs
- CodeCompiler.cs
- OdbcParameter.cs
- ExpandoClass.cs
- LineServicesRun.cs
- ByteStack.cs
- MultiTrigger.cs
- SystemColors.cs
- ToolTipService.cs
- GridViewEditEventArgs.cs
- MsmqIntegrationChannelListener.cs
- EventPrivateKey.cs
- WebPartZone.cs
- GridViewSelectEventArgs.cs
- DbConnectionPoolGroupProviderInfo.cs
- TrustSection.cs
- LingerOption.cs
- SqlXml.cs
- SiteMapNodeItem.cs
- ViewBox.cs
- DeclaredTypeValidator.cs
- ControlPersister.cs
- ColorConvertedBitmap.cs
- TranslateTransform3D.cs
- ZoneIdentityPermission.cs
- WmlCommandAdapter.cs
- HttpResponseHeader.cs
- WebHttpSecurity.cs
- ExpressionEditorAttribute.cs
- ItemPager.cs
- TemplateBamlTreeBuilder.cs
- PageRanges.cs
- HttpsHostedTransportConfiguration.cs
- FlowLayout.cs
- TemplateColumn.cs
- SqlDataSourceQueryEditor.cs
- HtmlControl.cs
- TimelineGroup.cs
- SelectedPathEditor.cs
- BidOverLoads.cs
- DataObjectMethodAttribute.cs
- AuthenticationConfig.cs
- DesignerActionPanel.cs
- MachineSettingsSection.cs
- FlatButtonAppearance.cs
- FieldNameLookup.cs
- SchemaNames.cs
- SemanticResolver.cs
- StylusPointDescription.cs
- CodeObjectCreateExpression.cs
- MeshGeometry3D.cs
- TraceUtils.cs
- StyleBamlRecordReader.cs
- XsdValidatingReader.cs
- SessionEndedEventArgs.cs
- ResourceReader.cs
- ConnectionStringSettingsCollection.cs
- BmpBitmapDecoder.cs