Example #1
0
        internal static MonoBtlsX509VerifyParam GetVerifyParam(string targetHost, bool serverMode)
        {
            MonoBtlsX509VerifyParam param;

            if (serverMode)
            {
                param = MonoBtlsX509VerifyParam.GetSslClient();
            }
            else
            {
                param = MonoBtlsX509VerifyParam.GetSslServer();
            }

            if (targetHost == null)
            {
                return(param);
            }

            try {
                var copy = param.Copy();
                copy.SetHost(targetHost);
                return(copy);
            } finally {
                param.Dispose();
            }
        }
Example #2
0
        internal static MonoBtlsX509VerifyParam GetVerifyParam(MonoTlsSettings settings, string targetHost, bool serverMode)
        {
            MonoBtlsX509VerifyParam param;

            if (serverMode)
            {
                param = MonoBtlsX509VerifyParam.GetSslClient();
            }
            else
            {
                param = MonoBtlsX509VerifyParam.GetSslServer();
            }

            if (targetHost == null && settings?.CertificateValidationTime == null)
            {
                return(param);
            }

            try {
                var copy = param.Copy();
                if (targetHost != null)
                {
                    copy.SetHost(targetHost);
                }
                if (settings?.CertificateValidationTime != null)
                {
                    copy.SetTime(settings.CertificateValidationTime.Value);
                }
                return(copy);
            } finally {
                param.Dispose();
            }
        }
Example #3
0
        public void SetVerifyParam(MonoBtlsX509VerifyParam param)
        {
            var ret = mono_btls_x509_store_ctx_set_param(
                Handle.DangerousGetHandle(),
                param.Handle.DangerousGetHandle());

            CheckError(ret);
        }
Example #4
0
		public void SetVerifyParam (MonoBtlsX509VerifyParam param)
		{
			CheckThrow ();
			var ret = mono_btls_ssl_ctx_set_verify_param (
				Handle.DangerousGetHandle (),
				param.Handle.DangerousGetHandle ());
			CheckError (ret);
		}
Example #5
0
        internal static bool ValidateCertificate(MonoBtlsX509Chain chain, MonoBtlsX509VerifyParam param)
        {
            using (var store = new MonoBtlsX509Store())
                using (var storeCtx = new MonoBtlsX509StoreCtx()) {
                    SetupCertificateStore(store);

                    storeCtx.Initialize(store, chain);

                    if (param != null)
                    {
                        storeCtx.SetVerifyParam(param);
                    }

                    var ret = storeCtx.Verify();

                    return(ret == 1);
                }
        }
Example #6
0
        internal static bool ValidateCertificate(MonoBtlsX509Chain chain, MonoBtlsX509VerifyParam param)
        {
            using (var store = new MonoBtlsX509Store())
                using (var storeCtx = new MonoBtlsX509StoreCtx()) {
                    /*
                     * We're called from X509Certificate2.Verify() via X509CertificateImplBtls.Verify().
                     *
                     * Use the default settings and assume client-mode.
                     */
                    SetupCertificateStore(store, MonoTlsSettings.DefaultSettings, false);

                    storeCtx.Initialize(store, chain);

                    if (param != null)
                    {
                        storeCtx.SetVerifyParam(param);
                    }

                    var ret = storeCtx.Verify();

                    return(ret == 1);
                }
        }
Example #7
0
		public void SetVerifyParam (MonoBtlsX509VerifyParam param)
		{
			CheckThrow ();
			var ret = mono_btls_ssl_ctx_set_verify_param (
				Handle.DangerousGetHandle (),
				param.Handle.DangerousGetHandle ());
			CheckError (ret);
		}
		internal static bool ValidateCertificate (MonoBtlsX509Chain chain, MonoBtlsX509VerifyParam param)
		{
			using (var store = new MonoBtlsX509Store ())
			using (var storeCtx = new MonoBtlsX509StoreCtx ()) {
				SetupCertificateStore (store);

				storeCtx.Initialize (store, chain);

				if (param != null)
					storeCtx.SetVerifyParam (param);

				var ret = storeCtx.Verify ();

				return ret == 1;
			}
		}
		public void SetVerifyParam (MonoBtlsX509VerifyParam param)
		{
			var ret = mono_btls_x509_store_ctx_set_param (
				Handle.DangerousGetHandle (),
				param.Handle.DangerousGetHandle ());
			CheckError (ret);
		}