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 / Crypto.cs / 1 / Crypto.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
//
// Crypto.cs
//
namespace System.Security.Cryptography {
using Microsoft.Win32;
using System.Runtime.Serialization;
using System.Globalization;
// This enum represents cipher chaining modes: cipher block chaining (CBC),
// electronic code book (ECB), output feedback (OFB), cipher feedback (CFB),
// and ciphertext-stealing (CTS). Not all implementations will support all modes.
[Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum CipherMode { // Please keep in [....] with wincrypt.h
CBC = 1,
ECB = 2,
OFB = 3,
CFB = 4,
CTS = 5
}
// This enum represents the padding method to use for filling out short blocks.
// "None" means no padding (whole blocks required).
// "PKCS7" is the padding mode defined in RFC 2898, Section 6.1.1, Step 4, generalized
// to whatever block size is required.
// "Zeros" means pad with zero bytes to fill out the last block.
// "ISO 10126" is the same as PKCS5 except that it fills the bytes before the last one with
// random bytes. "ANSI X.923" fills the bytes with zeros and puts the number of padding
// bytes in the last byte.
[Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum PaddingMode {
None = 1,
PKCS7 = 2,
Zeros = 3,
ANSIX923 = 4,
ISO10126 = 5
}
// This structure is used for returning the set of legal key sizes and
// block sizes of the symmetric algorithms.
// Note: this class should be sealed, otherwise someone could sub-class it and the read-only
// properties we depend on can have setters. Ideally, we should have a struct here (value type)
// but we use what we have now and try to close the hole allowing someone to specify an invalid key size
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class KeySizes {
private int m_minSize;
private int m_maxSize;
private int m_skipSize;
public int MinSize {
get { return m_minSize; }
}
public int MaxSize {
get { return m_maxSize; }
}
public int SkipSize {
get { return m_skipSize; }
}
public KeySizes(int minSize, int maxSize, int skipSize) {
m_minSize = minSize; m_maxSize = maxSize; m_skipSize = skipSize;
}
}
[Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class CryptographicException : SystemException {
private const int FORMAT_MESSAGE_IGNORE_INSERTS = 0x00000200;
private const int FORMAT_MESSAGE_FROM_SYSTEM = 0x00001000;
private const int FORMAT_MESSAGE_ARGUMENT_ARRAY = 0x00002000;
public CryptographicException()
: base(Environment.GetResourceString("Arg_CryptographyException")) {
SetErrorCode(__HResults.CORSEC_E_CRYPTO);
}
public CryptographicException(String message)
: base(message) {
SetErrorCode(__HResults.CORSEC_E_CRYPTO);
}
public CryptographicException(String format, String insert)
: base(String.Format(CultureInfo.CurrentCulture, format, insert)) {
SetErrorCode(__HResults.CORSEC_E_CRYPTO);
}
public CryptographicException(String message, Exception inner)
: base(message, inner) {
SetErrorCode(__HResults.CORSEC_E_CRYPTO);
}
public CryptographicException(int hr)
: this(Win32Native.GetMessage(hr)) {
if ((hr & 0x80000000) != 0x80000000)
hr = (hr & 0x0000FFFF) | unchecked((int)0x80070000);
SetErrorCode(hr);
}
protected CryptographicException(SerializationInfo info, StreamingContext context) : base (info, context) {}
// This method is only called from inside the VM.
private static void ThrowCryptogaphicException (int hr) {
throw new CryptographicException(hr);
}
}
[Serializable()]
[System.Runtime.InteropServices.ComVisible(true)]
public class CryptographicUnexpectedOperationException : CryptographicException {
public CryptographicUnexpectedOperationException()
: base() {
SetErrorCode(__HResults.CORSEC_E_CRYPTO_UNEX_OPER);
}
public CryptographicUnexpectedOperationException(String message)
: base(message) {
SetErrorCode(__HResults.CORSEC_E_CRYPTO_UNEX_OPER);
}
public CryptographicUnexpectedOperationException(String format, String insert)
: base(String.Format(CultureInfo.CurrentCulture, format, insert)) {
SetErrorCode(__HResults.CORSEC_E_CRYPTO_UNEX_OPER);
}
public CryptographicUnexpectedOperationException(String message, Exception inner)
: base(message, inner) {
SetErrorCode(__HResults.CORSEC_E_CRYPTO_UNEX_OPER);
}
protected CryptographicUnexpectedOperationException(SerializationInfo info, StreamingContext context) : base (info, context) {}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
//
// Crypto.cs
//
namespace System.Security.Cryptography {
using Microsoft.Win32;
using System.Runtime.Serialization;
using System.Globalization;
// This enum represents cipher chaining modes: cipher block chaining (CBC),
// electronic code book (ECB), output feedback (OFB), cipher feedback (CFB),
// and ciphertext-stealing (CTS). Not all implementations will support all modes.
[Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum CipherMode { // Please keep in [....] with wincrypt.h
CBC = 1,
ECB = 2,
OFB = 3,
CFB = 4,
CTS = 5
}
// This enum represents the padding method to use for filling out short blocks.
// "None" means no padding (whole blocks required).
// "PKCS7" is the padding mode defined in RFC 2898, Section 6.1.1, Step 4, generalized
// to whatever block size is required.
// "Zeros" means pad with zero bytes to fill out the last block.
// "ISO 10126" is the same as PKCS5 except that it fills the bytes before the last one with
// random bytes. "ANSI X.923" fills the bytes with zeros and puts the number of padding
// bytes in the last byte.
[Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum PaddingMode {
None = 1,
PKCS7 = 2,
Zeros = 3,
ANSIX923 = 4,
ISO10126 = 5
}
// This structure is used for returning the set of legal key sizes and
// block sizes of the symmetric algorithms.
// Note: this class should be sealed, otherwise someone could sub-class it and the read-only
// properties we depend on can have setters. Ideally, we should have a struct here (value type)
// but we use what we have now and try to close the hole allowing someone to specify an invalid key size
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class KeySizes {
private int m_minSize;
private int m_maxSize;
private int m_skipSize;
public int MinSize {
get { return m_minSize; }
}
public int MaxSize {
get { return m_maxSize; }
}
public int SkipSize {
get { return m_skipSize; }
}
public KeySizes(int minSize, int maxSize, int skipSize) {
m_minSize = minSize; m_maxSize = maxSize; m_skipSize = skipSize;
}
}
[Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class CryptographicException : SystemException {
private const int FORMAT_MESSAGE_IGNORE_INSERTS = 0x00000200;
private const int FORMAT_MESSAGE_FROM_SYSTEM = 0x00001000;
private const int FORMAT_MESSAGE_ARGUMENT_ARRAY = 0x00002000;
public CryptographicException()
: base(Environment.GetResourceString("Arg_CryptographyException")) {
SetErrorCode(__HResults.CORSEC_E_CRYPTO);
}
public CryptographicException(String message)
: base(message) {
SetErrorCode(__HResults.CORSEC_E_CRYPTO);
}
public CryptographicException(String format, String insert)
: base(String.Format(CultureInfo.CurrentCulture, format, insert)) {
SetErrorCode(__HResults.CORSEC_E_CRYPTO);
}
public CryptographicException(String message, Exception inner)
: base(message, inner) {
SetErrorCode(__HResults.CORSEC_E_CRYPTO);
}
public CryptographicException(int hr)
: this(Win32Native.GetMessage(hr)) {
if ((hr & 0x80000000) != 0x80000000)
hr = (hr & 0x0000FFFF) | unchecked((int)0x80070000);
SetErrorCode(hr);
}
protected CryptographicException(SerializationInfo info, StreamingContext context) : base (info, context) {}
// This method is only called from inside the VM.
private static void ThrowCryptogaphicException (int hr) {
throw new CryptographicException(hr);
}
}
[Serializable()]
[System.Runtime.InteropServices.ComVisible(true)]
public class CryptographicUnexpectedOperationException : CryptographicException {
public CryptographicUnexpectedOperationException()
: base() {
SetErrorCode(__HResults.CORSEC_E_CRYPTO_UNEX_OPER);
}
public CryptographicUnexpectedOperationException(String message)
: base(message) {
SetErrorCode(__HResults.CORSEC_E_CRYPTO_UNEX_OPER);
}
public CryptographicUnexpectedOperationException(String format, String insert)
: base(String.Format(CultureInfo.CurrentCulture, format, insert)) {
SetErrorCode(__HResults.CORSEC_E_CRYPTO_UNEX_OPER);
}
public CryptographicUnexpectedOperationException(String message, Exception inner)
: base(message, inner) {
SetErrorCode(__HResults.CORSEC_E_CRYPTO_UNEX_OPER);
}
protected CryptographicUnexpectedOperationException(SerializationInfo info, StreamingContext context) : base (info, context) {}
}
}
// 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
- BamlTreeMap.cs
- RuntimeConfigurationRecord.cs
- SimpleType.cs
- OdbcTransaction.cs
- AttributeSetAction.cs
- SemaphoreFullException.cs
- fixedPageContentExtractor.cs
- ExpressionVisitor.cs
- ViewgenContext.cs
- MinimizableAttributeTypeConverter.cs
- ArcSegment.cs
- MatrixTransform3D.cs
- _DigestClient.cs
- DependencyProperty.cs
- util.cs
- MetadataArtifactLoaderResource.cs
- DataGridViewRowsAddedEventArgs.cs
- StatusBar.cs
- VectorAnimation.cs
- PersonalizationStateQuery.cs
- CheckBox.cs
- PriorityRange.cs
- ManagementInstaller.cs
- ToolStripSplitStackLayout.cs
- SchemaElementLookUpTable.cs
- FixedDocumentSequencePaginator.cs
- XpsResource.cs
- OdbcFactory.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- FieldBuilder.cs
- PostBackOptions.cs
- DispatcherExceptionFilterEventArgs.cs
- RadioButtonDesigner.cs
- FieldInfo.cs
- CodeTypeReferenceCollection.cs
- InfoCardBaseException.cs
- IApplicationTrustManager.cs
- TreeViewDesigner.cs
- HiddenFieldPageStatePersister.cs
- ColorAnimationUsingKeyFrames.cs
- _NegoStream.cs
- RSAOAEPKeyExchangeDeformatter.cs
- M3DUtil.cs
- GetResponse.cs
- GraphicsPath.cs
- ControlPropertyNameConverter.cs
- TabControlEvent.cs
- DataGridTablesFactory.cs
- EventBuilder.cs
- HyperLink.cs
- SiteIdentityPermission.cs
- ParallelLoopState.cs
- HybridDictionary.cs
- StylusShape.cs
- XmlHierarchyData.cs
- LiteralControl.cs
- CatalogZone.cs
- PathSegmentCollection.cs
- DbConnectionPoolGroupProviderInfo.cs
- DummyDataSource.cs
- PhysicalOps.cs
- SafeNativeMethods.cs
- DesignerTransactionCloseEvent.cs
- CalendarDay.cs
- HttpEncoderUtility.cs
- FileSecurity.cs
- PKCS1MaskGenerationMethod.cs
- PageParserFilter.cs
- HtmlHistory.cs
- TemplateControlParser.cs
- CompositeControl.cs
- SqlReorderer.cs
- XmlSchemaObjectTable.cs
- DifferencingCollection.cs
- MsdtcWrapper.cs
- InteropExecutor.cs
- WebPartRestoreVerb.cs
- Link.cs
- WSTrustDec2005.cs
- SqlAliaser.cs
- ColorTransform.cs
- SdlChannelSink.cs
- SafeRightsManagementSessionHandle.cs
- PublisherMembershipCondition.cs
- BitmapPalette.cs
- CompositeControl.cs
- ContractMapping.cs
- DesigntimeLicenseContextSerializer.cs
- GZipStream.cs
- __ConsoleStream.cs
- TypeResolvingOptionsAttribute.cs
- SqlDataSourceEnumerator.cs
- EntityDataSourceDesignerHelper.cs
- XPathSelfQuery.cs
- MarshalByValueComponent.cs
- SqlProfileProvider.cs
- FormViewModeEventArgs.cs
- AQNBuilder.cs
- HttpRuntimeSection.cs
- ResetableIterator.cs