Сначала вам нужно получить общедоступный сертификат с сервера, к которому вы пытаетесь подключиться. Это можно сделать разными способами, например, связаться с администратором сервера и запросить его, с помощью openssl, чтобы загрузить его , или, поскольку это, как представляется, HTTP-сервер, подключающийся к нему с помощью любого браузера, просмотра информации о безопасности страницы и сохранения копии сертификата. (Google должен уметь точно сказать, что делать для вашего конкретного браузера.)
Теперь, когда у вас есть сертификат, сохраненный в файле, вам нужно добавить его в хранилище доверия JVM. В $JAVA_HOME/jre/lib/security/
для JRE или $JAVA_HOME/lib/security
для JDK есть файл с именем cacerts
, который поставляется с Java и содержит общедоступные сертификаты известных сертифицирующих органов. Чтобы импортировать новый сертификат, запустите keytool как пользователь, у которого есть разрешение на запись в cacerts:
keytool -import -file -alias -keystore
Скорее всего, он попросит вас ввести пароль. Пароль по умолчанию, поставляемый с java, - changeit
. Его почти никто не изменяет. После того, как вы выполните эти относительно простые шаги, вы будете уверенно общаться и с уверенностью, что разговариваете с нужным сервером и только с правильным сервером (пока они не потеряют свой закрытый ключ).
Простой способ определить, является ли что-то "передачей ссылкой", состоит в том, можно ли записать функцию "подкачки". Например, в C, можно сделать:
void swap(int *i, int *j)
{
int t;
t = *i;
*i = *j;
*j = t;
}
, Если Вы не можете сделать эквивалента этого в JavaScript, это не "передача ссылкой".
Существует некоторая дискуссия об использовании термина "передача ссылкой" в JavaScript здесь , но отвечать на Ваш вопрос:
объект А автоматически передается ссылкой без потребности конкретно указать это
(От упомянутой выше статьи.)
JavaScript всегда передача значением ; все значимо тип.
Объекты являются значениями, и функции членства объектов являются самими значениями (помните, что функции являются первоклассными объектами в JavaScript). Кроме того, относительно понятия, что все в JavaScript объект ; это неправильно. Строки, символы, числа, булевские переменные, аннулируют, и undefineds примитивы .
При случае они могут усилить некоторые функции членства и свойства, наследованные от их основных прототипов, но это только для удобства. Это не означает, что они - сами объекты. Попробуйте следующее за ссылку:
x = "test";
alert(x.foo);
x.foo = 12;
alert(x.foo);
На обоих предупреждениях Вы найдете, что значение не определено.
Переменная не "содержит" объект; это содержит ссылку. Можно присвоить ту ссылку на другую переменную, и теперь оба ссылаются на тот же объект. Это всегда - передача значением (даже когда то значение является ссылкой...).
нет никакого способа измениться, значение, сохраненное переменной, передало в качестве параметра, который был бы возможен, если бы JavaScript поддерживал передачу ссылкой.
Примитивы передаются по значению, а объекты передаются по ссылке . Это сильно отличается от других языков, таких как C, Visual Basic или Delphi. Я не могу точно сказать, как они обрабатывают объекты и примитивы, но я знаю о Visual Basic и Delphi, что это можно (и нужно) указать.
PHP делает нечто подобное, начиная с версии 5: все объекты передаются по ссылке, но все примитивы могут передаваться по ссылке, если им предшествует амперсанд (&). В противном случае примитивы передаются по значению.
Итак, в JavaScript