Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- Converter.cs
- RawAppCommandInputReport.cs
- DataRelationCollection.cs
- WindowPattern.cs
- SQLDouble.cs
- XPathNodeIterator.cs
- FastEncoderStatics.cs
- SelfIssuedAuthAsymmetricKey.cs
- TemplateBindingExpressionConverter.cs
- SingleObjectCollection.cs
- CommonXSendMessage.cs
- ArcSegment.cs
- SafeLibraryHandle.cs
- ExpressionLexer.cs
- PointValueSerializer.cs
- RecommendedAsConfigurableAttribute.cs
- HttpPostedFileWrapper.cs
- X509CertificateCollection.cs
- CollectionType.cs
- SqlParameter.cs
- WebPartCatalogCloseVerb.cs
- DataServiceCollectionOfT.cs
- WorkflowCreationContext.cs
- RepeaterItemCollection.cs
- LinkedList.cs
- ImpersonationContext.cs
- AssemblyBuilder.cs
- Annotation.cs
- SerializationObjectManager.cs
- _PooledStream.cs
- CatchDesigner.xaml.cs
- EffectiveValueEntry.cs
- SoapCodeExporter.cs
- MissingSatelliteAssemblyException.cs
- SoapObjectInfo.cs
- SchemaImporterExtensionElementCollection.cs
- RectKeyFrameCollection.cs
- FaultContext.cs
- ControlCachePolicy.cs
- CachedRequestParams.cs
- COM2PictureConverter.cs
- PointCollectionValueSerializer.cs
- externdll.cs
- XmlSchemaAttribute.cs
- TextStore.cs
- BufferedReceiveElement.cs
- ConfigurationSettings.cs
- MarkupExtensionParser.cs
- MsmqIntegrationSecurityMode.cs
- ActivitySurrogate.cs
- ConnectionsZoneAutoFormat.cs
- ScriptControlDescriptor.cs
- Schema.cs
- ToolStripOverflowButton.cs
- InsufficientMemoryException.cs
- SamlSubjectStatement.cs
- IImplicitResourceProvider.cs
- NullableIntAverageAggregationOperator.cs
- SoapIncludeAttribute.cs
- ToolStripKeyboardHandlingService.cs
- GraphicsContext.cs
- ProcessModelInfo.cs
- DecoderNLS.cs
- SqlConnectionString.cs
- arc.cs
- IndexerNameAttribute.cs
- WebServiceReceive.cs
- DBPropSet.cs
- DataGridHyperlinkColumn.cs
- View.cs
- SqlDataSourceWizardForm.cs
- WsdlHelpGeneratorElement.cs
- PropertyStore.cs
- LayoutEditorPart.cs
- SendingRequestEventArgs.cs
- PresentationAppDomainManager.cs
- IndentedTextWriter.cs
- GuidelineSet.cs
- MemoryPressure.cs
- FixedSchema.cs
- Span.cs
- RSAOAEPKeyExchangeDeformatter.cs
- WindowsNonControl.cs
- SqlTriggerAttribute.cs
- HwndHost.cs
- WaitHandle.cs
- RoleGroupCollection.cs
- TreeViewCancelEvent.cs
- ListViewItem.cs
- Point3DAnimation.cs
- TreeNodeBinding.cs
- SHA1Managed.cs
- StylusPointPropertyInfoDefaults.cs
- MSAAEventDispatcher.cs
- HasCopySemanticsAttribute.cs
- WebPartsPersonalization.cs
- DataSourceXmlSubItemAttribute.cs
- CqlLexerHelpers.cs
- RuleConditionDialog.Designer.cs
- TextBreakpoint.cs