Рычард Даллауэй, спіральны рукаў Ltd.
Май 2002
Я меў тое, што я думаў, былі дзве асобныя праблемы: як забяспечыць просты спосаб устаноўкі прыкладанняў Java я напісаў, і як запусціць вэб-браўзэр ад дадатку незалежна ад аперацыйнай сістэмы, прыкладанняў быў запушчаны. Абедзве праблемы былі вырашаны з дапамогай Java Web Start, але каб атрымаць, што праца мяне таксама было акунуцца ў свет подпісы кода з выкарыстаннем лічбавых сертыфікатаў. Гэта мае нататкі на вопыце.
Змены:
keytool -import. Здаецца, там было змяненне фармату сертыфіката і зараз неабходна, каб бакі рэдагаваць файл, перш чым імпартаваць яго. Глядзіце мой прыклад перад і пасля прыклады, каб убачыць, што вы павінны зрабіць. Я спытаў Thawte, каб разабрацца ў гэтым. Нядбайны
Sloppy гэта дадатак, якое можа быць выкарыстана для запаволіць ваша інтэрнэт-злучэнне. Часта вэб-сайт распрацаваны на хуткіх лакальнай сеткі. Каб убачыць, як яна будзе выглядаць на 28.8k мадэм 56k або карыстальнік, вы можаце ўсталяваць адпаведны мадэм, атрымаць аддалены доступ да рахунку, наладзіць машыну для выкарыстання аддаленага доступу... Усё гэта звычайна ўключае ў сябе шмат лаяўся. І калі вы жадаеце ўбачыць, што ўмовы, як пад 28.8k мадэм і мадэм 56k і паўтарыце вышэй.
Ці вы можаце выкарыстоўваць Sloppy. Sloppy з'яўляецца "павольным проксі". Яна прэтэндуе на вэб-сайце вы тэсціраванне, і штучна запавольвае паток вэб-старонак і графікі ў браўзэры. Гэта не ідэальна, але гэта прасцей, чым важдацца вакол кабелі мадэма.
Калі я ўпершыню напісаў Sloppy, ён пабег у якасці сервера прыкладанняў. Вы павінны былі быць ўстаноўлена Java, прымусіць сябе абалонкі або камандным радку увядзіце каманду права магіі, рэдагаваць правільны файл канфігурацыі, а таксама запуск вэб-браўзэра толькі на правільны адрас, каб убачыць вынікі. З водгукамі, якія я атрымаў, здавалася, што Sloppy неабходна больш просты спосаб для ўстаноўкі і графічны інтэрфейс карыстальніка.
Web Start
Мяркуючы графічны інтэрфейс на Sloppy было не так складана, але мне трэба спосаб атрымаць Sloppy усталяваны. Я таксама вырашыў, што з-за спосабу Sloppy працаваў я хацеў быць у стане пачаць вэб-браўзэр карыстальніка. У той жа час, я хацеў, каб усё гэта платформа-нейтральнай: яна павінна працаваць на Mac, Linux, Sun камплект Windows машыны... усё без зменаў.
Web Start валодае усімі ключавымі інгрэдыентамі. Вы можаце думаць аб Web Start, як убудова для браўзэра. Пры націску на спасылку. JNLP файл, плагін бярэ на сябе, загрузкі прыкладанняў, робіць што ў вас ёсць права версіі асяроддзя выканання Java (усталёўваецца, калі гэта неабходна), праводзіць кучу праверак бяспекі, а затым запускае яго для вас.
Даць Web Start прыкладання проста азначае, што запіс звычайнае прыкладанне Java і забеспячэння. JNLP файл. Для Sloppy файл выглядае наступным чынам:
<?xml version="1.0" encoding="UTF-8"?> <jnlp spec="1.0+" codebase="http://www.dallaway.com/sloppy" href="sloppy.jnlp"> <information> <title>Sloppy</title> <vendor>Richard Dallaway</vendor> <homepage href="index.html" /> <description>Sloppy allows you to simulate different dial-up speeds.</description> <offline-allowed /> </information> <resources> <j2se version="1.3+"/> <jar href="sloppy.jar" main="true" /> </resources> <application-desc main-class="com.dallaway.sloppy.Sloppy"/> <security> <all-permissions/> </security> </jnlp>
Файл дзяржавах, дзе знайсці Sloppy (кодзе), імёны файлаў Jar для загрузкі (sloppy.jar), версіі асяроддзя выканання Java патрабуецца (1,3 і вышэй), даў некаторыя апісання аб дадатку, і сказаў, галоўнай () для запуску, каб пачаць Sloppy.
Так, з Web Start я спосаб устаноўкі дадатку на кампутары карыстача, спосаб трымаць яго ў актуальным стане, а таксама спосаб запуску вэб-браўзэра карыстальніка (гэта адна з "паслугі" Web Start дае распрацоўніку ). Канчатковы карыстальнік атрымлівае адносна беспраблемны спосаб запуску Java-прыкладанняў і нейкая вера, што бяспека будзе гук.
Сертыфікаты
Адзінай складанасцю, каб усё гэта было бяспекі. Па змаўчанні, Web Start мае вельмі строгую палітыку бяспекі. Гэта добрая рэч, таму што вы ведаеце дадатку Web Start не будзе ісці і смецця на цвёрдым дыску, пачынаюць шукаць праз вашу электронную пошту, ці адпраўляць паведамленні па сеткі на некаторыя аб'явы кампаніі.
Характар ??Sloppy такая, што яна павінна быць у стане гаварыць з іншымі вэб-сайтамі. Гэта тое, што ён робіць: ён прымае вашы запыты, адпраўляе яго на вэб-сайце, а затым запавольваецца рэакцыя. Для гэтага для працы пад Web Start, я павінен быў даць Sloppy некаторыя дадатковыя дазволы бяспекі. На самай справе, бягучая версія Web Start азначае, што я павінен даць Sloppy неабмежаваны доступ да кампутара. Гэта крыху больш-топ, але гэта ўсё або нічога прама цяпер. У будучыні спецыфікацыі JNLP можа дазволіць больш дэталёвых дазволаў.
Каб атрымаць гэтую неабмежаваную дазвол у мяне на "знак" дадатку. Гэта даказвае, што гэта я, які паслаў код, і што ніхто не подделаны з ім. Калі вы давяраеце мне, вы можаце запусціць код, упэўненым у тым, што я не зацікаўлены ў змесціва вашага жорсткага дыска ці адрас электроннай пошты.
Каб мець магчымасць выкарыстоўваць лічбавую подпіс кода (JAR-файлаў), мне трэба сведчанне. Каб атрымаць сертыфікат, я павінен быў перадаць грошы для сертыфікацыі, каб яны маглі выканаць некаторыя праверку на мяне, каб даказаць, што я, хто я кажу, што я. Web Start пастаўляецца з спіс сертыфікацыі пра якія ён ведае. Адзін з іх, Verisign, хацеў бы ЗША $ 200 да $ 400 ад мяне кожны год для сертыфіката. Я не ўпэўнены, што я гатовы плаціць, што для праграмнага забеспячэння, я аддаю.
Каб зразумець, чаму гэта важна, паглядзіце на скрыншот, як Sloppy пачынаецца, калі я выкарыстоўваю падроблены сертыфікат (малюнак 1).

Малюнак 1: Sloppy пачынаючы з распрацоўнікам сертыфіката.
Звярніце ўвагу на трывожныя фразы, такія як "Настойліва рэкамендуецца не ўсталёўваць і запускаць код"? Сутнасць гэтага вучэння было зрабіць Sloppy больш даступнымі, а не палохаць кожны OFF.
Я ўзяў добры погляд на спіс сертыфікацыі вядома Web Start і адзін тырчалі: Thawte FREEMAIL. У прыватнасці, слова "бясплатна". Я прагнаў гэта ўніз і гэта сапраўды бясплатна (без грошай) спосаб атрымаць сертыфікат для подпісу кода.
Крокі даволі простыя:
Зарэгіструйцеся для "асабістага сертыфіката электроннай пошты". Ёсць даволі шмат экранаў для запаўнення, але сачыць за працэсам праз аж да кропкі, дзе вам прапануюць выбраць сертыфікат X.509 электроннай пошты вы хочаце. У гэты момант пракруціць ўніз да "распрацоўшчыкаў новых прыкладанняў бяспекі ONLY", перайдзіце па спасылцы і абярыце "Уставіць у КСО рэгістрацыі сертыфікатаў". Там зусім трохі націснуўшы з гэтай старонкі, каб дабрацца да старонкі з тэкставым полем, што дазваляе ўводзіць ваш адкрыты ключ. Калі вы дойдзе да "ключ" старонкі, вам трэба згенераваць ключ з Keytool.
Выканаць Keytool утыліты Java.
Па-першае, генерыраваць ключ RSA. Вам будзе прапанавана ўсе віды інфармацыі. Важна памятаць, што ваша імя павінна быць устаноўлена ў адпаведнасці з агульным назовам вы сказалі для выкарыстання на вэб-сайце Thawte. Гэта будзе нешта накшталт XVV6ePaMGHEPJN22. Калі Keytool прапануе ўвесці ваша імя, увядзіце гэта значэнне ад Thawte. Іншая важная рэч, каб памятаць пароль, які выкарыстоўваецца пры стварэнні ключа, таму што вы будзеце мець патрэбу ў гэтым для подпісы прыкладанняў.
Відавочна змяніць свой "псеўданім" імя і месцазнаходжанне "сховішчы" файл, калі вам падабаецца, але запусціць нешта накшталт гэтага:
Keytool-genkey-keyalg RSA-сховішча keystore.ks псеўданім myalias
Вось прыклад запуску:
$ keytool -genkey -keyalg RSA -keystore keystore.ks -alias myalias
Enter keystore password: trustno1
What is your first and last name?
[Unknown]: XVV6ePaMGHEPJN22
What is the name of your organizational unit?
[Unknown]: sloppy
What is the name of your organization?
[Unknown]: dallaway.com
What is the name of your City or Locality?
[Unknown]: Brighton
What is the name of your State or Province?
[Unknown]: E. Sussex
What is the two-letter country code for this unit?
[Unknown]: GB
Is CN=VsrM6zxs7edzfJ57, OU=sloppy, O=dallaway.com, L=Brighton, ST=E. Sussex, C=GB correct?
[no]: yes
Enter key password for <myalias>
(RETURN if same as keystore password):
$
Далей, экспарт ключавых у тэкставы файл, які ў гэтым прыкладзе "csr.txt":
Keytool-Certreq-сховішча keystore.ks-файл csr.txt псеўданім myalias
Возьмем тэкст "csr.txt" і устаўце яго ў форму Thawte і чакаць. Гэта ваш запыт сертыфіката. Майн заняла каля 20 хвілін, каб працэс, і мне паведамілі, што яна гатова па электроннай пошце.
Пры загрузцы сертыфіката, ён у двух фарматах: Netscape і PKCS7. Вы хочаце захаваць PKCS7 версіі ў файле пад назвай "my.cert" (ці падобнае), а затым выканайце каманду:
Keytool-імпарт-файл my.cert псеўданім myalias-trustcacerts-сховішча keystore.ks
Вы павінны ўбачыць паведамленне: Certificate reply was installed in keystore
Аднак, Thawte змянілі сваё сведчанне фармаце, у выніку чаго над крок на няўдачу (напрыклад, з паведамленнем нешта памылку, як sun.security.pkcs.ParsingException: toDerInputStream rejects tag type -96 ). Я спадзяюся, гэта часовая сітуацыя, што Thawte будзе выправіць. У той жа час, калі вышэй каманды імпарту не атрымоўваецца, гэта можа быць з-за змен у Thawte, каб іх фармат. Нікаля Карранса мае ласкава прадастаўлены некаторыя крыніцы Java для мацавання Thawte фармаце праблемы сертыфікат. Я упакованы гэта як посуд для загрузкі. Выканаць гэта так: банк thawtecleaner.jar my.cert-Java, і гэта створыць my.cert.clean, якія затым можна выкарыстоўваць у-імпартных каманды Keytool, вышэй.
Калі ў вас узніклі java.security.cert.CertificateException: Unsupported encoding памылка падчас імпарту, паспрабуйце наступнае: Дадайце дзве вяртанне карэткі ў канцы спампаваў файл сертыфіката, а таксама змяненні пачатку і канца лініі так, што толькі пачынаюць PKCS # 7 і END PKCS # 7 з'явіцца.
Вось і ўсё. У вас ёсць сертыфікат, што добра для год, пасля чаго ён можа быць прадоўжаны (гл. ніжэй).
Каб падпісацца код з сертыфікатам, вы можаце запусціць Ant задачы, такія як:
<signjar keystore="keystore.ks"
jar="sloppy.jar"
alias="myalias"
storepass="trustno1" />
Калі я пабег Web Start з маёй нядаўна падпісанае заяву я атрымліваю значна больш рэспектабельным падкажуць, як паказана на малюнку 2:

Малюнак 2: Sloppy пачынаючы з Thawte FREEMAIL сертыфікат.
Абнаўленне
Па заканчэнні года Вам будзе трэба абнавіць сертыфікат, каб пазбегнуць прадстаўлення карыстальнікаў з папярэджаннямі аб Тэрмін дзеяння сертыфіката мінуў. Аднавіць працэс азначае паўторны запуск крокі, неабходныя для стварэння сертыфіката. Як ваша агульнае змены назвы з кожнага абнаўлення, не існуе простага спосабу "абнавіць" існуючага сертыфіката: вы, напэўна, хочаце, каб або выдаліць файл сховішчы ключоў перад пачаткам або запуску каманд з іншым імем псеўданіма.
Для тых, хто хацеў бы прытрымлівацца здымкі экрана, я забяспечыў старонка паказаны крокі, каб абнавіць. Але голымі на ўвазе, што Thawte змены іх вэб-сайце ад часу да часу так што гэтыя выявы могуць не цалкам адпавядаюць таму, што вы бачыце.
Сетка даверу
Гэта можа быць магчымым, каб замяніць фразу "Thawte FREEMAIL член" у сертыфікаце, далучыўшыся Thawte сетку даверу. Гэта ўключае ў сябе паседжанні, асобаў ўжо ОК-рэд Thawte і паказаць, што вы той, за каго вы кажаце, што, вырабляючы розныя формы ідэнтыфікацыі. Я не спрабаваў гэтага яшчэ.
Іншы варыянт з нецярпеннем чакаем з'яўляецца пастаўка свабодных сертыфікаты CAcert.org. Я кажу з нецярпеннем чакаем, паколькі на момант напісання сертыфікат CAcert.org корань не усталяваны па змаўчанні ў Web Start азначае, што сертыфікат, падпісаны CAcert не будзе прызнаны Web Start. Гэта прама наперад, каб дадаць сертыфікат у Web Start, але яна не можа быць варыянтам для вас прама цяпер, калі вы зацікаўлены ў тым, рэчы, як без праблем, як магчымасць вашым карыстальнікам. З часам гэта можа таксама быць уключаны ў Web Start, і ў гэты момант ён будзе рашэнне ісці.
Заўвага аб Java Micro Edition (было: J2ME)
Рэзюмэ
Java Web Start з'яўляецца добрым спосабам для разгортвання Java-прыкладанняў. Каб заваяваць давер карыстальнікаў важна падпісаць код загружаецца, але гэта магчыма зрабіць гэта на бязвыплатнай аснове выкарыстання Thawte FREEMAIL службы. У будучыні CAcert.org будзе месца для свабоднай сертыфікаты.
Звярніце ўвагу на трэці ўдзельнік JAR файлы
Файлы, указаных у Вашым JNLP файла неабходна, каб усе яны падпісалі з выкарыстаннем тых жа сертыфікат. Калі вы хочаце ўключыць файлы падпісаныя іншымі спосабамі, такімі як іншыя банкі (Java Mail, JAX-B, напрыклад), то вам трэба выкарыстоўваць пашырэнне тэг у JNLP. Напрыклад, у падзел рэсурсаў дадаць:
<extension name="Jaxb" href="http://www.dallaway.com/acad/webstart/jaxb.jnlp"/>
Web Start будзе прасіць jaxb.jnlp з Вашага сайта (у дадзеным выпадку, тое ж месца, як ваш. JNLP файла) і працэс яго з дапамогай сертыфіката знайсці ў банку спасылаюцца jaxb.jnlp. Каб даведацца больш шукаць "Кампанент пашырэнне" у спецыфікацыі JNLP.
Рэсурсы
| Popular Links