OpenSSL.Core.Native.Native C# (CSharp) Method

Native() static private method

static private Native ( ) : System
return System
        static Native()
        {
            Version lib = Version.Library;
            Version wrapper = Version.Wrapper;
            uint mmf = lib.Raw & 0xfffff000;
            if (mmf != wrapper.Raw)
                throw new Exception(string.Format("Invalid version of {0}, expecting {1}, got: {2}",
                    DLLNAME, wrapper, lib));

            // Enable FIPS mode
            if (FIPS.Enabled)
            {
                if (FIPS_mode_set(1) == 0)
                {
                    throw new Exception("Failed to initialize FIPS mode");
                }
            }

            ERR_load_crypto_strings();
            SSL_load_error_strings();

            OPENSSL_add_all_algorithms_noconf();

            // Initialize SSL library
            Native.ExpectSuccess(SSL_library_init());

            byte[] seed = new byte[128];
            RandomNumberGenerator rng = RandomNumberGenerator.Create();
            rng.GetBytes(seed);
            RAND_seed(seed, seed.Length);
        }
Native