12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
- #pragma warning disable
- using System;
- using System.Runtime.Serialization;
- namespace Best.HTTP.SecureProtocol.Org.BouncyCastle.Tls
- {
- [Serializable]
- public class TlsFatalAlert
- : TlsException
- {
- private static string GetMessage(short alertDescription, string detailMessage)
- {
- string msg = Tls.AlertDescription.GetText(alertDescription);
- if (null != detailMessage)
- {
- msg += "; " + detailMessage;
- }
- return msg;
- }
- protected readonly byte m_alertDescription;
- public TlsFatalAlert(short alertDescription)
- : this(alertDescription, null, null)
- {
- }
- public TlsFatalAlert(short alertDescription, string detailMessage)
- : this(alertDescription, detailMessage, null)
- {
- }
- public TlsFatalAlert(short alertDescription, Exception alertCause)
- : this(alertDescription, null, alertCause)
- {
- }
- public TlsFatalAlert(short alertDescription, string detailMessage, Exception alertCause)
- : base(GetMessage(alertDescription, detailMessage), alertCause)
- {
- if (!TlsUtilities.IsValidUint8(alertDescription))
- throw new ArgumentOutOfRangeException(nameof(alertDescription));
- m_alertDescription = (byte)alertDescription;
- }
- protected TlsFatalAlert(SerializationInfo info, StreamingContext context)
- : base(info, context)
- {
- m_alertDescription = info.GetByte("alertDescription");
- }
- public override void GetObjectData(SerializationInfo info, StreamingContext context)
- {
- base.GetObjectData(info, context);
- info.AddValue("alertDescription", m_alertDescription);
- }
- public virtual short AlertDescription
- {
- get { return m_alertDescription; }
- }
- }
- }
- #pragma warning restore
- #endif
|