При установке Больших Сценариев CAT ( http://www.ranchero.com/bigcat/ ), можно добавить собственное контекстное меню (щелчок правой кнопкой) объекты. Я не думаю, что это идет с Открыть Terminal Here applescript, но я использую этот сценарий (который я честно не помню, записал ли я меня или поднялся с чужого примера):
on main(filelist)
tell application "Finder"
try
activate
set frontWin to folder of front window as string
set frontWinPath to (get POSIX path of frontWin)
tell application "Terminal"
activate
do script with command "cd \"" & frontWinPath & "\""
end tell
on error error_message
beep
display dialog error_message buttons ¬
{"OK"} default button 1
end try
end tell
end main
Подобные сценарии могут также получить Вас полный путь к файлу при щелчке правой кнопкой, который еще более полезен, я нахожу.
Если вы используете самоподписанные сертификаты, то единственные ошибки, которые вы должны ожидать, - это цепная ошибка в корне (Cert. Issuer). Я бы предложил что-то вроде этого, которое ловит именно эту ошибку цепочки и позволяет пропустить все другие ошибки.
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(
ValidateRemoteCertificate
);
private static bool ValidateRemoteCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors )
{
string trustedIssuer = "CN=www.domain.com";
string trustedDomain = "CN=www.domain.com";
bool policyErr = false;
switch (policyErrors)
{
case SslPolicyErrors.None:
policyErr |= false;
break;
case SslPolicyErrors.RemoteCertificateChainErrors:
bool chainErr = false;
foreach (X509ChainStatus status in chain.ChainStatus)
{
switch (status.Status)
{
case X509ChainStatusFlags.NoError:
chainErr |= false;
break;
case X509ChainStatusFlags.UntrustedRoot:
if (certificate.Subject != trustedDomain || certificate.Issuer != trustedIssuer)
chainErr |= true;
else
chainErr |= false;
break;
default:
chainErr |= true;
break;
}
}
policyErr |= chainErr;
break;
default:
policyErr |= true;
break;
}
return !policyErr;
}
Если вы не можете заставить клиентов создавать настоящие сертификаты, вы должны хотя бы попытаться заставить их создавать сертификаты с помощью вашего сервера. Затем вы можете проверить, действителен ли сертификат или, по крайней мере, от вашего CA, потому что вы будете знать, был ли ваш CA скомпрометирован. Если вы доверяете любым и всем ЦС, в действительности нет ничего стоящего.