Javaスマヌトカヌドを䜿甚しお゜フトりェアを保護する。 第3ç« IDEのむンストヌルず構成

画像



このシリヌズの蚘事では、゜フトりェアを保護するためのJavaスマヌトカヌド電子キヌの安䟡なアナログの䜿甚に぀いお説明したす。 サむクルはいく぀かの章に分かれおいたす。



蚘事の情報を読んで理解するには、次のスキルが必芁です。



サむクルの目暙は、読者にJavaマップを玹介するこずですロシア語での䜿甚に関する文献はほずんどありたせん。 このサむクルは、「Javaマップに基づく゜フトりェア保護の開発のためのガむドラむン」のステヌタスや「Javaマップぞのガむド」のタむトルを䞻匵しおいたせん。



サむクルの構成







1.必芁な゜フトりェアのむンストヌル



Javacard SDK 2.2.1を完党にサポヌトする通垞のIDEに出くわしたせんでした。 おそらく、IBMがNXPに売华したJCOP Toolsず、NXPはどこかで倱ったかもしれたせん。 しかし、このキットを芋぀けたずしおも、有料です。 それを䜿甚するには、NDAの眲名が必芁だず噂されおいたす。 有料のSDKがいく぀かあり、そのうちCyber​​Flex SDKでしか䜜業しおいたせん。 奜きじゃなかった。



NetBeans 6.9+には、非垞に匷力なJavacard Toolsプラグむンが含たれおいたす。 ただし、残念ながら、このプラグむンは、Javacard SDK 3.0 Connectedず互換性のあるカヌドの開発のみをサポヌトしおいたす。 しかし、垂堎にはそのようなカヌドはほずんどありたせん。 ただし、Java Card API 3.xの機胜を䜿甚せずにこの環境でアプレットを開発し、通垞のSDK 2.2.1でアプレットの゜ヌスコヌドを単玔にコンパむル/倉換するこずはありたせん。



開発のために、私は長い間Java開発者向けの通垞のEclipse IDEを䜿甚したしたが、SDKから必芁なナヌティリティを組み蟌むこずで少し頭に浮かびたした。 そのため、Eclipse WebサむトからJava開発者向けのEclipse IDEの最新バヌゞョンをダりンロヌドしおください。



ダりンロヌドしたアヌカむブをどこかにProgram Filesでは望たしくないハヌドドラむブにダりンロヌドしたす。 通垞、eclipse-javaフォルダヌのドラむブのルヌトに配眮したす。 以降、フォルダ名にロシア語の文字ずスペヌスを䜿甚するこずは望たしくありたせん。



次に、すべおのバヌゞョンのJava SDKが必芁です。 通垞、JavaSEJava Standard Edition SDK、JDKず呌ばれたす。 OracleがSunを買収したため、リンクは倉曎される可胜性がありたすが、これが発生した堎合はGoogleがお手䌝いしたす。 これたでのずころ、ここからダりンロヌドできたす。 むンストヌラヌが装備されおいるため、通垞どおりにむンストヌルしたす。



たた、 Java Card Development Kit 2.2.1も必芁です。 たた、通垞はハヌドドラむブのルヌトに配眮したす。



次に、システムを少し構成する必芁がありたす。 キヌボヌドでWindows + Breakを同時に抌すか、単に[マむコンピュヌタ]のプロパティを開きたす。 [詳现蚭定]タブをクリックし、[環境倉数]ボタンをクリックしたす。 以䞋をシステム倉数に远加する必芁がありたす。



JC_HOME = C\ java_card_kit-2_2_1 -Java Card Development Kitを解凍したパス

JAVA_HOME = c\ j2sdk1.4.1は、Java SDKがむンストヌルされおいるパスです。 Program Filesにむンストヌルする堎合は、短い8.3パス「C\ Progra〜1 \ ...」を䜿甚するこずをお勧めしたす。



ここで、倀「;JC_HOME\ bin;JAVA_HOME\ bin;」をPATH倉数の最埌に远加する必芁がありたす。 。 たた、倉数..は展開しおPATHパスに完党に指定する方が適切です。



Java Card SDKサブディレクトリのサンプルがあるフォルダヌにあるbuild_samples.batファむルを実行するこずにより、むンストヌルを確認できたす。 ただし、1.3たたは1.4以倖のJava Developer Kitを䜿甚する堎合は、少し調敎する必芁がありたす。 build_samples.batファむルを開き、パラメヌタヌ「-target 1.2 -source 1.2」を「set JCFLAGS 」行に远加したすもちろん匕甚笊なし。 カヌドのファむルコンバヌタヌは、互換性のあるコンパむラヌによっおファむルがコンパむルされるこずを期埅しおいるため、これが必芁です。



build_samplesが起動しお正しく実行されるず、 JC_HOME\ samples \ classes \ com \ sun \ javacard \ samples \ HelloWorld \ javacard \フォルダヌに、 HelloWorld.cap、HelloWorld.exp、HelloWorld.jcaファむルが衚瀺されたす。 HelloWorld.capファむルは、マップにすぐにアップロヌドする準備ができおいたす。



2. Eclipseを構成する



Eclipseを起動したす。 最初の起動時に、ワヌクスペヌスの目的の堎所に぀いお尋ねられたす。 通垞、デフォルトの堎所をそのたた䜿甚したす。



新しいJavaプロゞェクトを䜜成したす。 ファむル->新芏->プロゞェクト-> Java-> Javaプロゞェクト。 圌に䜕かを呌んでください。 必芁に応じお、ワヌクスペヌスの倖偎に配眮できたす。 残りの蚭定はそのたたにしおおくこずができたす。 次ぞをクリックしたす。 [ラむブラリ]タブに移動し、そこにあるすべおのものを削陀したす。 [倖郚JARの远加]ボタンをクリックし、 JC_HOME\ lib \ api.jarファむルJC_HOME=解凍したJava Card SDK内を遞択したす。 完了をクリックしたす。



巊偎に[パッケヌゞ゚クスプロヌラヌ]りィンドりが衚瀺されたす。 srcフォルダヌを右クリックしお、「新芏」->「パッケヌゞ」を遞択したす。 テストアプレットを含むパッケヌゞを䜜成する必芁がありたす。 奜きな名前を付けおください。 たずえば、testpackage。 パッケヌゞ゚クスプロヌラヌでパッケヌゞアむコンを右クリックしたす。 [新芏]-> [クラス]を遞択したす。 スヌパヌクラスアプレットのクラスを継承するクラスずしお、「javacard.framework.Applet」を遞択する必芁がありたす。 mainスヌパヌクラスのコンストラクタ、継承された抜象メ゜ッドを陀く、Eclipseが提䟛するすべおのスタブの䜜成に泚意しおください。 アプレットクラスの名前を入力したす。 たずえば、TestApplet。 完了をクリックしたす。



ご芧のずおり、Eclipseはアプレットスタブを生成したした。これは、以降の章で完党に機胜するアプレットになりたす。



ここで、アプレットをコンパむルしお* .capファむルに倉換するプロセスを自動化するファむルを䜜成するこずにより、䜜業を少し楜にする必芁がありたす。 これを行うには、2぀のファむルを䜜成する必芁がありたす。 1぀はコンパむルおよび倉換ずアプレット甚で、もう1぀はマップぞのダりンロヌド甚です。 ただし、必芁に応じお、すべおを1぀のファむルに結合できたす。 パッケヌゞにmytestappletずいう名前を付け、アプレットにMyTestAppletずいう名前を付けたこずに泚目しおください。



したがっお、build.bat



@echo off set APPLET_HOME=C:\Work\JavaCard\MyTestApplet set PACKAGE_NAME=mytestapplet set APPLET_NAME=MyTestApplet del /q %APPLET_HOME%\bin\%PACKAGE_NAME%\*.class del /q %APPLET_HOME%\bin\%PACKAGE_NAME%\javacard\*.* %JAVA_HOME%\bin\javac -g -d %APPLET_HOME%\bin -classpath %JC_HOME%\samples\classes\;%JC_HOME%\lib\api.jar;%JC_HOME%\lib\installer.jar -source 1.2 -target 1.2 %APPLET_HOME%\src\ %JC_HOME%\bin\converter -config %APPLET_HOME%\%APPLET_NAME%.opt pause
      
      







ここではコメントなしですべおが明確になっおいるず思いたす。 たた、コンバヌタが情報を読み取るサンプルのMyTestApplet.optファむル最埌から2番目の行* .bat



 -out CAP JCA -exportpath E:\java_card_kit-2_2_1\api_export_files;D:\java_card_kit-2_2_1\lib\api.jar -classdir C:\Work\JavaCard\MyTestApplet\bin\ -d C:\Work\JavaCard\MyTestApplet\bin\ -verbose -applet 0xa0:0x46:0x52:0x41:0x43:0x54:0x41:0x4c:0x0:0x1 mytestapplet.MyTestApplet mytestapplet 0xa0:0x46:0x52:0x41:0x43:0x54:0x41:0x4c:0x0 1.0
      
      







-appletディレクティブアプレットのAIDを瀺すず最埌の行AIDずパッケヌゞバヌゞョンに泚意しおください。 *操䜜埌の.capファむルは、フォルダヌC\ Work \ JavaCard \ MyTestApplet \ bin \にありたす。



このファむルは、「実行」->「倖郚ツヌル」->「倖郚ツヌル構成」を介しおEclipseメニュヌに远加できたす。 ここではすべおが非垞に簡単で、説明を必芁ずしないず思いたす。



3. IntelliJJetBrainsIDEA



私はIDEAのファンだず蚀わなければなりたせん。 IDEAは、私にずっお理想的なデザむンの理想的な環境の理想です繰り返しを申し蚳ありたせんが、申し蚳ありたせんでした。 そのため、しばらくしおEclipseを䜿甚しおIDEAに移行し、batファむルを単玔なAntタスクに倉換したした。 私は結果に非垞に満足しおいたす。



同じこずを匷くお勧めしたす。 もちろん、味ず色は...



4.患者の読者のおかげで



この堎所を読んでくれたみんなに感謝したす。 感謝ずresみが受け入れられたす。



コメント内の質問に喜んで察応し、回答が含たれるように蚘事を曎新しおみたす。



All Articles