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
- SymLanguageType.cs
- TextLineResult.cs
- PromptBuilder.cs
- SecurityUtils.cs
- COSERVERINFO.cs
- RequestQueryProcessor.cs
- PropertyEntry.cs
- DrawingContextWalker.cs
- TypeUsageBuilder.cs
- NotCondition.cs
- DefaultTraceListener.cs
- CellPartitioner.cs
- _CacheStreams.cs
- OuterGlowBitmapEffect.cs
- FaultReason.cs
- LinkedResource.cs
- MemberAccessException.cs
- ApplicationManager.cs
- SqlTypesSchemaImporter.cs
- XomlCompilerHelpers.cs
- BaseCodePageEncoding.cs
- MemoryFailPoint.cs
- xsdvalidator.cs
- AnyAllSearchOperator.cs
- SynchronizedReadOnlyCollection.cs
- OAVariantLib.cs
- OracleInternalConnection.cs
- OracleTimeSpan.cs
- TextRange.cs
- Char.cs
- D3DImage.cs
- TableLayoutSettingsTypeConverter.cs
- XmlSchemaSimpleContentRestriction.cs
- AssemblyCache.cs
- EntityDataSourceChangedEventArgs.cs
- IPCCacheManager.cs
- CounterSampleCalculator.cs
- UInt32Converter.cs
- XmlStringTable.cs
- MediaTimeline.cs
- ListViewContainer.cs
- _ShellExpression.cs
- RegularExpressionValidator.cs
- PageTheme.cs
- DeploymentExceptionMapper.cs
- BaseTemplateParser.cs
- bidPrivateBase.cs
- ArgumentException.cs
- CodeDOMUtility.cs
- MediaEntryAttribute.cs
- SqlBuilder.cs
- ProvideValueServiceProvider.cs
- NeutralResourcesLanguageAttribute.cs
- WCFModelStrings.Designer.cs
- WebDisplayNameAttribute.cs
- SmiContextFactory.cs
- SmiEventStream.cs
- Label.cs
- InvalidOleVariantTypeException.cs
- rsa.cs
- PageFunction.cs
- FixedSOMImage.cs
- DragDrop.cs
- Matrix.cs
- ValueTypeFixupInfo.cs
- EdmProviderManifest.cs
- PersonalizationEntry.cs
- StringKeyFrameCollection.cs
- CodeValidator.cs
- PhonemeConverter.cs
- _IPv6Address.cs
- EntityDataSourceReferenceGroup.cs
- ListSortDescription.cs
- DbConnectionPoolOptions.cs
- DriveInfo.cs
- ErrorProvider.cs
- FtpWebRequest.cs
- DescriptionAttribute.cs
- DataGridViewButtonCell.cs
- DBDataPermissionAttribute.cs
- ValidationErrorEventArgs.cs
- BounceEase.cs
- ComponentCommands.cs
- CustomPopupPlacement.cs
- HostingMessageProperty.cs
- MultiView.cs
- ApplicationFileCodeDomTreeGenerator.cs
- PriorityRange.cs
- XmlElementAttributes.cs
- WS2007HttpBindingElement.cs
- DataObject.cs
- ItemMap.cs
- CompositeScriptReference.cs
- EmptyImpersonationContext.cs
- PointConverter.cs
- TextParentUndoUnit.cs
- FormsAuthenticationEventArgs.cs
- JsonServiceDocumentSerializer.cs
- ResourceProviderFactory.cs
- SmiRecordBuffer.cs