Что нового

Делать было нечего.

  • Автор темы Автор темы dyakoff
  • Дата начала Дата начала
D

dyakoff

Гость
Совершенно случайно, сам того не желая  Поломал на кизяк BILLmanager// Type: System.Security.Cryptography.DSACryptoServiceProvider// Assembly: mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089// Assembly location: C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorlib.dllusing System;using System.IO;using System.Runtime;using System.Runtime.InteropServices;using System.Security;using System.Security.Cryptography.X509Certificates;using System.Security.Permissions;using System.Threading;namespace System.Security.Cryptography{ /// <summary> /// Определяет объект-оболочку для доступа к реализации алгоритма <see cref="T:System.Security.Cryptography.DSA"/>, предоставляемой поставщиком служб шифрования (CSP).Данный класс не может наследоваться. /// </summary> [ComVisible(true)] public sealed class DSACryptoServiceProvider : DSA, ICspAsymmetricAlgorithm { private int _dwKeySize; private CspParameters _parameters; private bool _randomKeyContainer; [SecurityCritical] private SafeProvHandle _safeProvHandle; [SecurityCritical] private SafeKeyHandle _safeKeyHandle; private SHA1CryptoServiceProvider _sha1; private static volatile CspProviderFlags s_UseMachineKeyStore; /// <summary> /// Получает значение, указывающее, содержится ли в объекте <see cref="T:System.Security.Cryptography.DSACryptoServiceProvider"/> только открытый ключ. /// </summary> /// /// <returns> /// Значение true, если в объекте <see cref="T:System.Security.Cryptography.DSACryptoServiceProvider"/> содержится только открытый ключ; в противном случае — значение false. /// </returns> [ComVisible(false)] public bool PublicOnly { [SecuritySafeCritical] get { this.GetKeyPair(); return (int) Utils._GetKeyParameter(this._safeKeyHandle, 2U)[0] == 1; } } /// <summary> /// Получает объект <see cref="T:System.Security.Cryptography.CspKeyContainerInfo"/>, в котором содержатся дополнительные сведения о паре криптографических ключей. /// </summary> /// /// <returns> /// Объект <see cref="T:System.Security.Cryptography.CspKeyContainerInfo"/>, в котором содержатся дополнительные сведения о паре криптографических ключей. /// </returns> [ComVisible(false)] public CspKeyContainerInfo CspKeyContainerInfo { [SecuritySafeCritical] get { this.GetKeyPair(); return new CspKeyContainerInfo(this._parameters, this._randomKeyContainer); } } /// <summary> /// Получает размер ключа (в битах), используемого алгоритмом асимметричного шифрования. /// </summary> /// /// <returns> /// Размер ключа, используемого алгоритмом асимметричного шифрования. /// </returns> public override int KeySize { [SecuritySafeCritical] get { this.GetKeyPair(); byte[] keyParameter = Utils._GetKeyParameter(this._safeKeyHandle, 1U); this._dwKeySize = (int) keyParameter[0] | (int) keyParameter[1] << 8 | (int) keyParameter[2] << 16 | (int) keyParameter[3] << 24; return this._dwKeySize; } } /// <summary> /// Получает имя алгоритма обмена ключами. /// </summary> /// /// <returns> /// Имя алгоритма обмена ключами. /// </returns> public override string KeyExchangeAlgorithm { get { return (string) null; } } /// <summary> /// Получает имя алгоритма подписи. /// </summary> /// /// <returns> /// Имя алгоритма подписи. /// </returns> public override string SignatureAlgorithm { get { return "http://www.w3.org/2000/09/xmldsig#dsa-sha1"; } } /// <summary> /// Получает или задает значение, указывающее на необходимость сохранения ключа в компьютерном хранилище ключей, а не в хранилище профилей пользователей. /// </summary> /// /// <returns> /// Значение true, если необходимо сохранить ключ в компьютерном хранилище ключей; в противном случае — значение false. /// </returns> public static bool UseMachineKeyStore { get { return DSACryptoServiceProvider.s_UseMachineKeyStore == CspProviderFlags.UseMachineKeyStore; } set { DSACryptoServiceProvider.s_UseMachineKeyStore = value ? CspProviderFlags.UseMachineKeyStore : CspProviderFlags.NoFlags; } } /// <summary> /// Получает или задает значение, указывающее, следует ли сохранить ключ в CSP. /// </summary> /// /// <returns> /// Значение true, если необходимо сохранить ключ в CSP; в противном случае — значение false. /// </returns> public bool PersistKeyInCsp { [SecuritySafeCritical] get { if (this._safeProvHandle == null) { bool lockTaken = false; DSACryptoServiceProvider cryptoServiceProvider; try { Monitor.Enter((object) (cryptoServiceProvider = this), ref lockTaken); if (this._safeProvHandle == null) this._safeProvHandle = Utils.CreateProvHandle(this._parameters, this._randomKeyContainer); } finally { if (lockTaken) Monitor.Exit((object) cryptoServiceProvider); } } return Utils.GetPersistKeyInCsp(this._safeProvHandle); } [SecuritySafeCritical] set { bool persistKeyInCsp = this.PersistKeyInCsp; if (value == persistKeyInCsp) return; KeyContainerPermission containerPermission = new KeyContainerPermission(KeyContainerPermissionFlags.NoFlags); if (!value) { KeyContainerPermissionAccessEntry accessEntry = new KeyContainerPermissionAccessEntry(this._parameters, KeyContainerPermissionFlags.Delete); containerPermission.AccessEntries.Add(accessEntry); } else { KeyContainerPermissionAccessEntry accessEntry = new KeyContainerPermissionAccessEntry(this._parameters, KeyContainerPermissionFlags.Create); containerPermission.AccessEntries.Add(accessEntry); } containerPermission.Demand(); Utils.SetPersistKeyInCsp(this._safeProvHandle, value); } } static DSACryptoServiceProvider() { } /// <summary> /// Инициализирует новый экземпляр класса <see cref="T:System.Security.Cryptography.DSACryptoServiceProvider"/>. /// </summary> public DSACryptoServiceProvider() { this.\\u002Ector(0, new CspParameters(13, (string) null, (string) null, DSACryptoServiceProvider.s_UseMachineKeyStore)); } /// <summary> /// Инициализирует новый экземпляр класса <see cref="T:System.Security.Cryptography.DSACryptoServiceProvider"/> заданным размером ключа. /// </summary> /// <param name="dwKeySize">Размер ключа для алгоритма асимметричного шифрования в битах. </param> public DSACryptoServiceProvider(int dwKeySize) { this.\\u002Ector(dwKeySize, new CspParameters(13, (string) null, (string) null, DSACryptoServiceProvider.s_UseMachineKeyStore)); } /// <summary> /// Инициализирует новый экземпляр класса <see cref="T:System.Security.Cryptography.DSACryptoServiceProvider"/> заданными параметрами для поставщика служб шифрования (CSP). /// </summary> /// <param name="parameters">Параметры для CSP. </param> [TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")] public DSACryptoServiceProvider(CspParameters parameters) { this.\\u002Ector(0, parameters); } /// <summary> /// Инициализирует новый экземпляр класса <see cref="T:System.Security.Cryptography.DSACryptoServiceProvider"/> заданным размером ключа и параметрами для поставщика служб шифрования (CSP). /// </summary> /// <param name="dwKeySize">Размер ключа для криптографического алгоритма в битах. </param><param name="parameters">Параметры для CSP. </param><exception cref="T:System.Security.Cryptography.CryptographicException">Невозможно получить CSP.–либо– Невозможно создать ключ. </exception><excepti
 
dyakoff, это где? кого?Дабы не создавать тему, спрошу тут, сайт грузился 1 секунду, через 14 дней начал грузится 5-6 секунд, даже по SSH туго заходит, оперативки свободно 12 гиг, проц 4х3.5 , в чем может быть проблема?
 
Цитата: Lexingtonэто где? кого? Себя! БинарникЦитата: LexingtonДабы не создавать тему, спрошу тут, сайт грузился 1 секунду, через 14 дней начал грузится 5-6 секунд, даже по SSH туго заходит, оперативки свободно 12 гиг, проц 4х3.5 , в чем может быть проблема?Вариантов милион. Без пациента диагноз не поставишь.
 
Верх