This documentation is archived and is not being maintained.

AsymmetricAlgorithm.KeySize Property

Gets or sets the size, in bits, of the key modulus used by the asymmetric algorithm.

Namespace:  System.Security.Cryptography
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
Public Overridable Property KeySize As Integer
'Usage
Dim instance As AsymmetricAlgorithm 
Dim value As Integer 

value = instance.KeySize

instance.KeySize = value

Property Value

Type: System.Int32
The size, in bits, of the key modulus used by the asymmetric algorithm.

ExceptionCondition
CryptographicException

The key modulus size is invalid.

The valid key sizes are specified by the particular implementation of the asymmetric algorithm and are listed in the LegalKeySizes property.

The following code example demonstrates how to override the KeySize property to verify that it falls within the range identified in the local keySizes member variable. This code example is part of a larger example provided for the AsymmetricAlgorithm class.

Public Overrides Property KeySize() As Integer 
    Get 
        Return KeySizeValue
    End Get 
    Set(ByVal Value As Integer)
        For i As Int16 = 0 To keySizes.Length - 1 Step i
            If (keySizes(i).SkipSize.Equals(0)) Then 
                If (keySizes(i).MinSize.Equals(Value)) Then
                    KeySizeValue = Value
                    Return 
                End If 
            Else 
                For j As Integer = keySizes(i).MinSize _
                    To keySizes(i).MaxSize _
                    Step keySizes(i).SkipSize
                    If (j.Equals(Value)) Then
                        KeySizeValue = Value
                        Return 
                    End If 
                Next 
            End If 
        Next 
        ' If the key does not fall within the range identified  
        ' in the keySizes member variable, throw an exception. 
        Throw New CryptographicException("Invalid key size.")
    End Set 
End Property

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0
Show: