54
User Guide WAC 4.2 Document number: 90-343 Revision: 1.1 2010-03-10

User Guide WAC 4.2

Embed Size (px)

Citation preview

Page 1: User Guide WAC 4.2

User Guide

WAC 4.2

Document number: 90-343

Revision: 1.1 2010-03-10

Page 2: User Guide WAC 4.2

© 2009, 2010 SmartTrust AB. All rights reserved. SmartTrust endeavors to ensure that the information in this document is correct and fairly stated, but does not accept liability for any error or omission. The development of SmartTrust products and services is continuous and published information may not be up to date. It is important to check the current position with SmartTrust. This document is not part of a contract or license save insofar as may be expressly agreed. Unless otherwise noted, all names of companies, products, street addresses and persons contained herein are part of a completely fictitious scenario and are designed solely to document the use of the described product or service. Sun, Sun Microsystems, the Sun Logo, Solaris, and Java are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. Oracle is a registered trademark, and Oracle8i, Oracle9i and Oracle 10g are trademarks or registered trademarks of Oracle Corporation. Microsoft, Windows, and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. SmartTrust and SmartTrust WIB are trademarks of SmartTrust AB. All the other trademarks are the property of their respective owners.

Page 3: User Guide WAC 4.2

- 3 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

Contents

1 About this manual ________________________________ 6 

1.1 Intended audience .......................................................... 6 1.2 References ..................................................................... 6 

2 Introduction ____________________________________ 7 

2.1 WAC ............................................................................. 7 2.2 Wib ............................................................................... 9 

3 Quick start ____________________________________ 10 

3.1 Requirements ................................................................ 10 3.2 Download and install ...................................................... 10 3.3 Create and run WML ....................................................... 10 

4 The Workspace _________________________________ 12 

4.1 Introduction .................................................................. 12 4.2 The main screen ............................................................ 12 

4.2.1 Wib phone ............................................................. 12 4.2.2 Location text field ................................................... 13 4.2.3 Editor panel ........................................................... 13 4.2.4 Message panel ....................................................... 13 4.2.5 Status bar ............................................................. 14 4.2.6 Toolbar ................................................................. 14 4.2.7 Shortcut menu ....................................................... 14 4.2.8 Cursor position ...................................................... 14 

4.3 Cookies ........................................................................ 14 4.4 Add local wiblet ............................................................. 15 4.5 Group/Ungroup variables ................................................ 16 4.6 Display variables ........................................................... 17 4.7 Online help ................................................................... 17 

4.7.1 Toolbar ................................................................. 18 4.7.2 Navigation pane ..................................................... 18 4.7.3 Content pane ......................................................... 18 

5 Using WAC ____________________________________ 20 

5.1 Configuring WAC............................................................ 20 5.1.1 Defining WIG IP address ......................................... 20 5.1.2 Defining MSISDNs .................................................. 20 5.1.3 Changing port number ............................................ 21 

5.2 Creating applications ...................................................... 22 

Page 4: User Guide WAC 4.2

- 4 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

5.2.1 Creating a new WML document ................................ 22 5.2.2 Editing an existing WML document ............................ 22 5.2.3 Change default icon ................................................ 23 5.2.4 Use local wiblets .................................................... 24 

5.3 Creating plug-ins ........................................................... 25 5.4 Validating WML .............................................................. 27 5.5 Simulating applications ................................................... 28 

5.5.1 Selecting transport security level .............................. 29 5.5.2 Selecting Wib version.............................................. 30 

5.6 Viewing and clearing logs ................................................ 30 5.6.1 HTTP logs .............................................................. 30 5.6.2 Logs ..................................................................... 30 

5.7 Viewing and deleting cookies ........................................... 30 5.8 Character encoding ........................................................ 31 5.9 Generating keys for plug-ins ............................................ 32 

6 Troubleshooting ________________________________ 34 

6.1 Push messages do not work ............................................ 34 6.2 Converter library not found ............................................. 34 6.3 Error while converting WML to byte code. Checks logs for

details. ......................................................................... 34 6.4 Valid documents must have a prologue ............................. 34 6.5 WML Error: Invalid encoding ........................................... 35 

7 Frequently Asked Questions _______________________ 36 

7.1 Plug-ins ........................................................................ 36 7.2 Sound .......................................................................... 36 

8 Dialog reference ________________________________ 37 

8.1 Introduction .................................................................. 37 8.2 Menus and toolbar ......................................................... 37 

8.2.1 File menu .............................................................. 37 8.2.2 Edit menu ............................................................. 37 8.2.3 Actions menu......................................................... 38 8.2.4 Help menu ............................................................ 39 

8.3 Dialogs ......................................................................... 39 8.3.1 Properties ............................................................. 39 

9 Appendix A: Security ____________________________ 47 

9.1 Key file generated with OpenSSL ..................................... 47 9.2 carddb.xml file with OpenSSL keys ................................... 48 

Page 5: User Guide WAC 4.2

- 5 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

10 Appendix B: Create a skin ________________________ 50 

10.1 Introduction ................................................................ 50 10.2 Instruction .................................................................. 50 

10.2.1 Create the picture................................................. 50 10.2.2 Create the graphical mask ..................................... 50 10.2.3 Update the XML file ............................................... 51 10.2.4 Zip and install ...................................................... 51 10.2.5 Use the new skin .................................................. 52 

11 Glossary _____________________________________ 53 

Page 6: User Guide WAC 4.2

- 6 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

1 About this manual

1.1 Intended audience

This user guide is intended for developers of WML applications. We assume that you are familiar with WML.

1.2 References

For more information on WIG, communication protocols, application development and other related topics, refer to the following documents. The SmartTrust documents can be found at http://www.smarttrust.com/other-pages/developers-corner1/documentation. [1] Universal Gateway Request Protocol Specification,

SmartTrust. Specifies the protocol between WIG Server and the Content Provider.

[2] Universal Gateway Push Protocol Specification, SmartTrust. Specifies the protocol between WIG Server and the Push client.

[3] Application Developer Guide – Development of Wib Services, SmartTrust. Included in the WAC online help. Provides guidelines and help to developers of Wib services.

[4] WIG WML v4 Specification, SmartTrust. Included in the WAC online help. Specifies the subset of the Wireless Markup Language (WML) that WIG Server supports

[5] WIG WML v5 Specification, SmartTrust. Included in the WAC online help. Specifies the subset of the Wireless Markup Language (WML) that WIG Server support

[6] Application Programmer Guide to Wib Plug-ins, SmartTrust. Included in the WAC online help. Specifies the interfaces and functionality of the standard SmartTrust Wib plug-ins.

[7] RFC 2109, HTTP State Management Mechanism. Describes cookies.

[8] GSM 03.48, SIM Application Toolkit Secure Messaging.

[9] GSM 11.14, Digital cellular telecommunications system (Phase 2+); Specification of the SIM Application Toolkit for the Subscriber Identity Module - Mobile Equipment (SIM-ME) interface.

Page 7: User Guide WAC 4.2

- 7 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

2 Introduction

2.1 WAC

WAC is a tool for development of WML based applications. It enables you to develop WML applications and test them in a simulated mobile phone.

Features Main features in WAC includes: • A WML editor with continuous syntax checking. • Support for WIG WML specification version 5. • Simulated Wib phone with skins. • Load and execute WML directly from a Web server. • Online help with this WAC User Guide, WIG WML

specification, Wib plug-in specification and Wib development guidelines. Free text search and bookmarks/favorites are supported.

WAC WAC simulates all STK commands, Wib commands and

server-side plug-ins specified in[4] “WIG WML v4 Specification” and [5] “WIG WML v5 Specification”.

Wib Plug-ins WAC simulates the Wib plug-ins listed below. For details, refer to [6] “Application Programmer Guide to Wib Plug-ins”.

Page 8: User Guide WAC 4.2

- 8 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

• RTPROF (Retrieve Terminal Profile) • ENCR (1st Generation 3DES Encryption) • DECR (1st Generation 3DES Decryption) • SIGN (1st Generation 3DES Signing) • DD (2nd Generation 3DES Decryption) • DE (2nd Generation 3DES Encryption) • DS (2nd Generation 3DES Signing) • P7 (PKCS#7 Signing) • FP (Fingerprint) • AD (Asymmetric Decryption) • PAD Storage (Manage privileged application data stored

in a SIM card) • RRFMS (Retrieve Remote File Management Status) • ICCID (Retrieve ICCID) • LUHN (Calculates a checksum with the LUHN

algorithm) • EM (Event Management)

WSM features are used for sending individual WML documents to a SIM as personal services. See the picture below.

Send WML to a Wib equipped SIM on a live phone through a WSM or WIG server.

TCP/IP

Wib equippedtest phone

WIG

WAC

WSM

PushWMLWib menu

Shortmessages

GSMSMS-C

Shortmessages

Page 9: User Guide WAC 4.2

- 9 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

2.2 Wib

SmartTrust Wib™ interpreter resides on the SIM card of the mobile phone. The main purpose of the Wib is to run byte code strings and convert them into SIM Application Toolkit (STK) commands. Wib applications are originally written in WML and thus a conversion to byte code is necessary before the Wib can handle it. WAC can perform this conversion.

Page 10: User Guide WAC 4.2

- 10 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

3 Quick start

3.1 Requirements

Check these requirements before you install WAC: • Install1 on Windows 2000 or Windows XP. • Java, JRE 1.6 or later installed. • Microsoft Visual C++ 2008 Redistributable Package

(x86) or later installed

3.2 Download and install

Download 1 The installation file for WAC is available at http://www.smarttrust.com/wac. Download the exe file and run the installation file.

Install 2 To start the installation, open the installation file. 3 Follow the instructions on the screen. Shortcut 4 When the installation has finished depending on what was

chosen, a shortcut is added to the Start menu and/or the Desktop.

3.3 Create and run WML

Start 1 Start WAC from the Start menu: Programs > SmartTrust > WAC> WAC

New document 2 From the File menu, choose New document. A new

unnamed WML document is created.

Modify 3 Modify the WML code. When you write your WML code, you will get instant feedback in the Message panel if you do something wrong:

If you want to keep it simple for now, just write “Hello World” after the <p> tag, it should look like this: <p>Hello World!</p>.

1 WAC can be installed and run on Windows Vista and Windows 7. However all functionality in WAC has not been tested on those Operating Systems.

Page 11: User Guide WAC 4.2

- 11 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

Help 4 If you need help with some WML code or tag, open the

online help by choosing Help from the Help menu. Open the document “WIG WML specification” or use the free text search.

Save 5 To save your WML document as a file to disk, choose

Save document from the File menu. The name of the WML document will change to the name you give to the file.

Send document 6 When you are ready with your WML document and the

Message panel says OK, you can run it in the Wib Phone. From the Actions menu, choose Send document or click the corresponding button on the toolbar.

7 Your WML document is now executed in the Wib Phone:

Page 12: User Guide WAC 4.2

- 12 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

4 The Workspace

4.1 Introduction

This chapter describes the WAC workspace, explains the main screen and gives some help on how to work with WAC. For information to individual dialogs and input fields, refer to “Dialog reference” on page 37.

4.2 The main screen

  Editor panel

Message panel

WIB Phone

Cursor position in WML

Location text fieldToolbar

Status bar

Menu

4.2.1 Wib phone

The Wib Phone is a simulator for a mobile phone with a Wib equipped SIM card. It is used to simulate WML applications. Wib Phone can be detached from the main window by clicking .

Page 13: User Guide WAC 4.2

- 13 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

Skins Its graphical display can be changed by changing skin; this is done in the Properties dialog, on the Wib Phone tab. You can also create your own skins, refer to “Create a skin” on page 50.

Byte code Byte code length: This field shows the byte code length of the WML that was last received. The byte code length does not include GSM 03.48 header information. For more information, refer to [8] “GSM 03.48”.

SM SM: Shows the number of short messages needed for the byte code.

4.2.2 Location text field

The location text field is located above the editor. Type a URL and click the Go button, for example:

WAC will fetch the page in the given URL to the editor. To view and select previous URLs, click the arrow button on the right side of the text box.

4.2.3 Editor panel

Documents You can have multiple WML documents open in the editor at the same time. Each document is represented by a tab in the editor. You can move between the documents and also copy & paste code between them.

Log There are also tabs for viewing log files and a special tab for the incoming WML that was last received.

Shortcut menu Right-click on a WML document to display a shortcut menu with the commands Cut, Copy, Paste, Undo and Redo.

4.2.4 Message panel

When you validate the WML in the editor, the result of the validation is shown in the message panel below the editor panel. The WML validation generates the following codes: OK, Error, and Warning.

Page 14: User Guide WAC 4.2

- 14 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

4.2.5 Status bar

The status bar at the bottom of the main window shows the current task.

4.2.6 Toolbar

When placing the cursor over a toolbar button, a short explanation will be displayed – a so-called Tool tip.

4.2.7 Shortcut menu

Right-click is supported in certain areas to give you quick access to relevant commands. Select the object you want to manage, some WML code for example, and click the right mouse button. A shortcut menu with relevant commands will be displayed.

4.2.8 Cursor position

When you are editing WML code, the position of the cursor is displayed in the right bottom row: . This is helpful when you get error messages in the message panel that indicates the exact position of an error.

4.3 Cookies

WAC receives cookies when sending HTTP requests to a server. From the File menu choose Cookies, or click the corresponding button on the toolbar, to display the following dialog box.

Page 15: User Guide WAC 4.2

- 15 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

Cookies dialog In this dialog you can view and delete cookies. Note. Cookies are not saved when you close the application. For more information on cookies, refer to [7] “RFC 2109”.

4.4 Add local wiblet

wiblet A wiblet is the compiled byte code from a complete WML document. You can name the wiblet and then execute it from another WML document. To be able to add a local wiblet, the WML document must contain a meta tag as described below. <head> <meta name=”wiblet-uri” content=”wiblet://smarttrust.com/myApp”/> </head>

The name attribute must be wiblet-uri The content attribute must be on the format wiblet://<host>.<domain>./<wiblet_name> The meta tag must be placed inside the wml element.

From the Actions menu, choose Add document as local wiblet, or click the corresponding button on the toolbar.

Page 16: User Guide WAC 4.2

- 16 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

wiblet URI The wiblet uri specified by the meta tag in the WML document.

WML area The WML code that that is converted to byte code is listed in the WML area.

Add wiblet Clicking Add wiblet will save your named wiblet on your computer.

For more information about using wiblets, refer to “Use local wiblets” on page 24.

4.5 Group/Ungroup variables

From the Actions menu, choose Group Variables, or click the corresponding button on the toolbar. This is used for creating a grouped variable to be used by the ungroupvar element in a wiblet. It is also possible to type in a grouped variable in the Groupedvariable field and click Ungroup. The ungrouped variables will be shown in the Input variables fields

Page 17: User Guide WAC 4.2

- 17 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

4.6 Display variables

From the Actions menu, choose Display Variables. Displays the hexadecimal values together with the variableId. The value can be modified. In the example below four variables has been created and sent to the Wib phone according to the below: <setvar name="var1" value="ABCD@" class="SMS-DEFAULT"/> <setvar name="var2" value="ABCD@" class="UCS2"/> <setvar name="var3" value="ABCD@" class="binary"/> <setvar name="var4" value="ABCD" class="hex-binary"/>

4.7 Online help

From the Help menu, choose Help, or click the corresponding button on the toolbar, to open the online help in a separate window.

Content pane

Navigation pane

Toolbar

Page 18: User Guide WAC 4.2

- 18 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

4.7.1 Toolbar

The toolbar has these buttons:

Go to the previous page, works like the “Back” button in browsers.

Go to the next page, works like the “Forward” button in browsers.

Print the current page.

Set the format for printing.

Add to Favorites. Saves the current page as a favorite. To view your favorites, click the Favorites tab in the navigation pane.

4.7.2 Navigation pane

The navigation pane includes these tabs:

Table of content. Double click a document to expand its content. Click its first chapter “Content” to display the complete table of content for the document in the content page.

Full text search; use it to locate pages by searching on key words. The result of your search will be presented in ranking order. The better match with your key words, the better ranking. There are five possible rankings, from highest to lowest: .

Favorites works as bookmarks to pages that you want to save for easy access. To save the current page as a favorite, click Add to Favorites on the toolbar. All your favorites will be saved on your computer.

4.7.3 Content pane

The selected page is displayed in the content pane. The content pane contains a separate navigation pane for navigating within the current document. The document navigation pane contains the following: • The title of the document. • Buttons to navigate within the document

– display the table of content for the document: – display the previous page in the document – display the next page in the document

Page 19: User Guide WAC 4.2

- 19 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

• The title of the current page and its “parent” pages as clickable links.

Page 20: User Guide WAC 4.2

- 20 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

5 Using WAC

5.1 Configuring WAC

Normally, you must do some basic configuration changes in WAC: • If you are using a WIG/UG server, set its IP address. • Define MSISDNs. • Wib version for WML validation. Other configurations that could be useful are: • Change the port number.

• For information on individual input fields, refer to “Properties”on page 39.

5.1.1 Defining WIG IP address

WAC can send push messages over a network either to itself, another simulator, or a remote WIG Server in the network. The push message is sent to the IP address and port specified in the Properties dialog on the Push Networking tab. The message will contain the MSISDNs specified in the properties.

For a detailed description of the protocol and the constructed messages, refer to [2] “Universal Gateway Push Protocol Specification”.

Instruction 1. Click Open Properties Dialog on the toolbar. 2. Click the Push Networking tab. 3. Type the IP address and port in the text fields. 4. Click Apply.

5.1.2 Defining MSISDNs

You can specify one or several recipient MSISDNs.

Instruction 1 From the File menu, choose Properties, or click the corresponding button on the toolbar.

Page 21: User Guide WAC 4.2

- 21 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

2 Click the Push Networking tab.

3 Type the recipient MSISDNs separated by semicolons.

4 Click Apply.

Multicast If several MSISDNs are specified in the properties and the push message is sent to an actual WIG Server, all the MSISDNs will eventually receive the message. This is called multicasting.

However, if you have specified the WAC as the remote WIG (you have your own IP in the properties), the push message will always result in only a single message to the Wib Phone, even though a proper push message is still constructed with all the recipient MSISDNs.

5.1.3 Changing port number

Default port number By default, WAC listens to port number 10110 and the messages must be sent to this port. You can change the port number in the properties. After defining the new port number, you have to restart WAC.

How to change port number

1 From the File menu, choose Properties, or click the corresponding button on the toolbar.

2 Click the Push Networking tab.

3 Type the new port number in the WAC listens for push messages in port text field.

4 Click Apply.

5 Restart WAC.

URL You can also fetch WML from the network by typing a URL in the location text field. When a message is received, its WML content will be shown in the Incoming tab of the editor. It can be sent to the Wib Phone either by clicking Send document to Wib or automatically if this option is selected in the Editor tab.

Page 22: User Guide WAC 4.2

- 22 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

5.2 Creating applications

5.2.1 Creating a new WML document

1. From the File menu, choose New document, or click the corresponding button on the toolbar.

2. A new “unnamed” document will be created:

Note. The default content of the new document is defined on the Editor tab in the Properties dialog.

3. Type the WML code in the new document. 4. Now you can:

• Save the document. From the File menu, choose Save or click the corresponding button on the toolbar.

• View the document in the Wib Phone. From the Actions menu, choose Send document or click the corresponding button on the toolbar.

• Close the document. From the File menu, choose Close document or click the corresponding button on the toolbar.

5.2.2 Editing an existing WML document

1. From the File menu, choose Open or click the corresponding button on the toolbar.

2. Select the WML document you want to edit and click OK. 3. The selected WML document opens in a new tab in the

editor. 4. Now you can:

• Save the document. From the File menu, choose Save or click the corresponding button on the toolbar.

• View the document in the Wib Phone. From the Actions menu, choose Send document or click the corresponding button on the toolbar.

• Close the document. From the File menu, choose Close document or click the corresponding button on the toolbar.

Page 23: User Guide WAC 4.2

- 23 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

5.2.3 Change default icon

Wib 1.3 and later supports the use of icons and WAC supports the use of a default icon. To change the default icon used by WAC:

1. From the File menu, choose Properties or click the corresponding button on the toolbar.

2. Click the Wib Information tab. 3. Click Change after Default Icon. 4. In the Select default icon file dialog, select a suitable icon

and click Select. You can for example select an icon from the WAC’s icons folder. The default location is C:\Program Files\Smarttrust\WAC\icons

5. Click Apply. You can use the example below to display the default icon in the Wib phone. <wml> <card> <p iconid="3"> This text should be preceded by an icon. </p> </card> </wml>

WAC will always use the default icon, irrespective of which value you specify for the iconid attribute. Send the document to the Wib Phone. The icon should be displayed. If icon file TipOfTheDay24.gif is used it should look like this:

Page 24: User Guide WAC 4.2

- 24 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

5.2.4 Use local wiblets

wiblet You can use locally stored wiblets in WAC to simulate installed wiblets on the Wib. A wiblet is the compiled byte code from a complete WML document. You can name the wiblet and then execute it from another WML document or wiblet. Execution can be returned to the WML document that initiated the wiblet. This can be done in several levels, see the example below.

WML

wiblet 2

wiblet 1

Example In this example, two local wiblets have been created: wiblet 1

and wiblet 2. To execute wiblet 1, the following element is used: <go href=“wiblet://smarttrust.com/wiblet 1”/> wiblet 1 is then executed and at the end it will execute wiblet 2 using the element: <go href=“wiblet://smarttrust.com/wiblet 2”/> In wiblet 2, the following element will return execution to wiblet 1: <go href=“wiblet://return”/> Execution in wiblet 1 will continue after the <go href=“wiblet://smarttrust.com/wiblet 2”/> element. In wiblet 1, the following element will return execution to the original WML: <go href=“wiblet://return”/>

Page 25: User Guide WAC 4.2

- 25 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

Settings In the example above, wiblets were executed in two levels and returned to the original WML. How many levels that are allowed can be set in the Properties dialog on the Wib Information tab. This setting is useful if you want to simulate a specific card. How many levels a real Wib equipped card will allow is card specific.

Create a wiblet To create and use a wiblet, follow these steps: 1. Create and validate a WML document. 2. Add the WML document as local wiblet, as described in

“Add local wiblet”on page 15 3. Open the Properties dialog and click the Wib Information

tab. 4. Under wiblet return levels, set the maximum number of

levels you want to allow wiblets to be executed and then returned to the original WML document. The value –1 will set it to unlimited.

5. Under Locally stored wiblets, your wiblet should be listed under wiblet URI.

6. Click Apply to close the properties. 7. Execute the wiblet from your WML document with the

element: <go href=“wiblet://smarttrust.com/Your wiblet”/>

5.3 Creating plug-ins

Introduction It is possible to create your own plug-in and execute it from a WML document. The actual call is made as any other plug-in call, refer to [4]“WIG WML v4 Specification” or [5] “WIG WML v5 Specification”.

Page 26: User Guide WAC 4.2

- 26 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

Define and build the plug-in

The plug-ins are defined in an xml configuration file. The plug-in can be a generic implementation provided with WAC or an own implementation class. The same applies for the GUI implementation. The plug-in may specify a property panel implementation class or use a generic implementation provided with WAC. The default implementation creates a plug-in that returns the “output” value defined in the configuration, while the default GUI allows for the value to be changed. The xml configuration file is located in <UserHome>/.wac/conf/PluginFactory.xml

An example of the syntax is shown below. <pluginFactory> <plugins> <plugin> <name>PAD</name> <displayName>PAD Storage</displayName> <className> com.smarttrust.zone.wib.plugin.PAD.PlugIn </className> <propertyPanelClassName> com.smarttrust.zone.wib.plugin.PAD.PlugInPropertiesPanel </propertyPanelClassName> <hasPropertyPanel>true</hasPropertyPanel> </plugin> ... </plugins> </pluginFactory>

Element Description <name> Unique identifier <displayName> [Optional] Alternative string to be

displayed in place of the name in the WAC/Properties/Plugins list.

<className> [Optional] Plug-in implementation class.

<output> [Optional] Specifies the value a generic plug-in implementation should return.

<propertyPanelClassName> Property Panel implementation class.

Page 27: User Guide WAC 4.2

- 27 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

Plug-in properties If a plug-in config has a <propertyPanelClassName> element, it will appear in the list on the Plug-ins tab in the WAC Properties dialog. If the plug-in has a <displayName> value, this value is displayed. Otherwise the name value is displayed. When a plug-in is selected, the matching plug-in config section is located and an instance is created using the class specified by the <propertyPanelClassName> element. If the <propertyPanelClassName> element is present but empty, a generic panel implementation will be provided. This will provide a panel allowing the run-time value of the <output> element used by the generic plug-in to be modified. Note! The modifications are NOT persisted over a WAC restart. There is one predefined class that may be of use: com.smarttrust.zone.util.PluginFactory$NoPropsPanel The plug-in will appear in the list of plug-ins, on the Plug-ins tab in the WAC Property dialog, and when selected simply display the message This plug-in has no configurable options”.

Custom Properties To aid with third-party extensions, WAC has been configured to also look for a 'custom-plugins.jar' in the 'lib' sub-folder and to attempt to load a 'PluginFactory-Fragment.xml' from the classpath. (So it should normally be placed in the root of the jar file.) The fragment file should have the same syntax as the PluginFactory.xml file. If found, any new plug-in definitions in the fragment file will be merged with the definitions loaded from the PluginFactory.xml file. Note! Only definitions with names that are not already defined in the main file will be added, which means that the primary file may be used to override settings defined in the custom jar file if required.

GUI option in Properties/Plug-ins

When the GUI option to create a plug-in is used an entry in the <UserHome>/.wac/conf/PluginFactory.xml is created that defines a named plug-in that uses the default implementation along with the default GUI implementation.

5.4 Validating WML

5.4.1.1 Introduction

You can validate the WML by selecting the automatic validation.

Page 28: User Guide WAC 4.2

- 28 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

Note! Information about which Wib version that is currently selected is displayed in the WAC application’s title bar.

How to specify Wib version

1 From the File menu, choose Properties, or click the corresponding button on the toolbar.

2 Click the Bytecode Conversion tab.

3 Select the WML version you are using and the Wib version you want to generate byte code for.

4 Click Apply.

5.4.1.2 Automatic WML validation

1. Open the Properties dialog and click the Editor tab. 2. Select Automatically validate changed document after n

seconds and define how often WML should be validated. 3. Click Apply. 4. When you make changes to the WML document, the WML

is validated and the results are shown in the message panel below the editor.

5.5 Simulating applications

Wib Phone You can use the Wib Phone for browsing WML documents, following links, entering input, and making selections. Wib Phone can be used just like any mobile phone with a Wib browser. You can type the WML in the editor, or fetch WML content from the network.

HTTP WAC can receive WML content through a network via HTTP. This is useful when you are building an actual web application and want to use WAC as a test terminal, without an actual WIG Server or a Wib card.

1. Type a WML document in the editor or type a URL in the location text field and click Go.

2. The WML content is shown in the editor.

Page 29: User Guide WAC 4.2

- 29 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

3. From the Actions menu, choose Send document, or click the corresponding button on the toolbar.

4. The WML is validated, including a sanity check of the byte code lengths.

5. If the WML pass validation, the output from the document is shown in the Wib Phone display:

6. The byte code length and the number of short messages needed for transporting the byte code are shown above the Wib Phone:

In the example above, one SM was used.

7. Use the arrows on the phone keyboard to scroll up and down if the content does not fit in the display:

8. Use the Yes buttons on the Wib Phone to make selections in the WML document:

9. When the phone prompts for input, use the keyboard on your computer to type the input.

5.5.1 Selecting transport security level

Select the transport security level in the Properties dialog on the Bytecode Conversion tab. This should be the same as in the Delivery Platform and WIG Server you are using. The security level affects the byte code length and the number of short messages needed for transporting the byte code. Note. The option No security should only be used for testing purposes.

Page 30: User Guide WAC 4.2

- 30 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

5.5.2 Selecting Wib version

Select the Wib version you want the Wib Phone to simulate in the Properties dialog on the Bytecode Conversion tab. The differences between the versions are described in [3] “Application Developer Guide – Development of Wib Services”. Note! Information about which Wib version is currently selected is displayed in the WAC application’s title bar.

5.6 Viewing and clearing logs

5.6.1 HTTP logs

You can view the HTTP traffic in the HTTP log tab of the editor:

The contents of the log are not editable. The log shows the actual HTTP traffic in the built-in server of the WAC: the sent and received messages and their headers. This is very useful information when developing applications. HTTP log length can be specified in the Properties dialog on the Editor tab. To clear the log, right-click and choose Clear log.

5.6.2 Logs

You can see WAC logs in the View log tab of the editor:

The contents of the log are not editable. The information on the log is useful in case there are any problems with the application. To clear the log, right-click and choose Clear log.

5.7 Viewing and deleting cookies

1. To view your current cookies, choose Cookies from the File menu or click the corresponding button on the toolbar.

2. The Cookies dialog opens, showing all your cookies in the order they have been received. You can see their value, domain, path, max age and security.

Page 31: User Guide WAC 4.2

- 31 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

3. To delete a cookie, select it from the list and click the Delete button. A deleted cookie is not sent back to the server.

Note. Cookies are not saved and will be lost when you exit WAC.

5.8 Character encoding

Unicode WAC handles Unicode characters. The XML declaration in the WML document must contain the encoding parameter UTF-8. <?xml version="1.0" encoding="UTF-8"?>

The <wml> element must have its wibletenc attribute set to “UCS2” <wml wibletenc="UCS2">

Variables The content of variables that are passed in query strings can be Unicode. In the example below, the content of the variable DRINK is Unicode.

For further information on Unicode handling, refer to [4]

“WIG WML v4 Specification” or [5] “WIG WML v5 Specification”.

Page 32: User Guide WAC 4.2

- 32 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

Fonts For your Wib Phone to show Unicode characters you need to have the proper font, containing these characters, installed on your operating system. In Windows these fonts can be installed in the Control Panel. If you already can see the characters you want in any other program on your computer, the proper font is probably already installed. After you have installed the font you must also make sure that Java supports it. To do this you’ll have to change the JRE’s font.properties file. The file can be located in <JRE installation directory>/jre/lib . 1. Make a copy of the font.properties file. 2. Find a file that supports your font (there are some

font.properties.XX files in the same directory, where ‘XX’ indicates which fonts this file supports)

3. Copy the content of the file to the font.properties file.

For further information on how to do this, refer to your operating system's help about fonts and the Java font installation guide in the JRE documentation at http://java.sun.com.

Hexadecimal Hexadecimal escape characters are supported for some elements and attributes. With the WML example below, the text “Hello World” will be displayed on the screen of the mobile station. <card> <p> <setvar name="GREETING" value="\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64" class="binary"/> $(GREETING) </p> </card>

5.9 Generating keys for plug-ins

OpenSSL If you want to change the key that is used by WAC in the P7 (PKCS#7 Signing) plug-in simulation, here is one way of generating and using an RSA key produced with OpenSSL.

Page 33: User Guide WAC 4.2

- 33 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

The same key can be used with FP (Fingerprint) or AD (Asymmetric Decryption) plug-ins. Note. The tools required to generate keys are not included with the WAC. For more information on OpenSSL and their tools, refer to www.openssl.org.

Generate key 1 First, generate the key with OpenSSL with the following command: openssl genrsa -out temp.txt 1024

This generates the key to a temp.txt file.

Text format 2 Next, convert the key to text format: openssl rsa -in temp.txt -out keyfile.txt –text

Now the generated key is in text format in the keyfile.txt file.

carddb.xml 3 Now open the carddb.xml in a text editor and substitute the key defined there with this: <!-- EF prkey --> <ef name="prkey" type="transparent" magic="openssl"> <body path="C:\mydirectory\wherethekeyis\keyfile.txt"/> </ef>

4 Now the WAC P7 plug-in uses the newly generated key.

For examples of key files, refer to “Appendix A: Security” on

page 47.

Page 34: User Guide WAC 4.2

- 34 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

6 Troubleshooting

6.1 Push messages do not work

Is your machine connected to the Internet? Push messaging uses HTTP and therefore requires a network connection.

1. Connect to the Internet. Do you have the correct server address, server port and MSISDN in the properties?

2. Open the Properties dialog. 3. Check the settings on the Push Networking tab.

6.2 Converter library not found

Make sure that you have the Microsoft Visual C++ 2008 Redistributable Package (x86) installed on your computer. If this error still occurs, WAC cannot find all required DLLs. You must reinstall WAC.

6.3 Error while converting WML to byte code. Checks logs for details.

The WML document contains errors and has not been converted to byte code. Click the View log tab in the Editor panel for explanations of the errors.

6.4 Valid documents must have a prologue

The WML document must start with a prologue. For WIG WML version 5, the following prologue shall be used. <?xml version="1.0" encoding="UTF-8"?> <wml xmlns="http://www.smarttrust.com/WIG-WML/5.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.smarttrust.com/WIG-WML/5.0 http://www.smarttrust.com/xsd/wigwml-5.0.xsd">

For WIG WML version 4, the following prologue shall be used. <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE wml PUBLIC "-//SmartTrust//DTD WIG-WML 4.0//EN" "http://www.smarttrust.com/DTD/WIG-WML4.0.dtd">

WML documents created in WAC will automatically get the right prologue when WIG WML version is selected in the Properties dialog on the Bytecode Conversion tab.

Page 35: User Guide WAC 4.2

- 35 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

If you want to use your own prologue: • Create a WML document that contains the prologue. • In the Properties dialog, on the Editor tab, specify that

this document shall be used when creating new documents.

6.5 WML Error: Invalid encoding

This error is shown if the encoding attribute in the xml tag is invalid. The following character encodings are supported in a WIG WML document:

• ISO-8859-1

• ISO-8859-7

• UTF-8

Page 36: User Guide WAC 4.2

- 36 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

7 Frequently Asked Questions

7.1 Plug-ins

Question How do I use Wib plug-ins in WML?

Answer You must use the plugin element to call a Wib plug-in. In the WML example below, the encryption plug-in ENCR is used <wml> <card> <p> To pay the ordered goods we need you to supply your Credit Card No (will be sent encrypted) <!-- Get credit card as input from the user --> <input title="Enter Credit Card No:" type="password" maxlength="5" name="PlainText" format="*N"/> <!-- call the encryption plug-in --> <plugin name="ENCR" params="\x02$(PlainText)" destvar="CipherText"/> Text in clear: $(PlainText) <br/> Encrypted text: $(CipherText) </p> </card> </wml>

7.2 Sound

Question Can I use sounds on the Wib phone?

Answer Yes and no. The playtone element can be used, e.g.: <p> <playtone toneid="general-beep" duration="2.5" iconid="1" title="Play it again, Sam!"/> </p>

The Wib phone will display:

But no sound will be produced to your computer speakers.

Page 37: User Guide WAC 4.2

- 37 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

8 Dialog reference

8.1 Introduction

This chapter will give detailed information on menu commands, toolbar buttons and input fields in dialogs.

8.2 Menus and toolbar

8.2.1 File menu

Menu command Toolbar button

Description

New document

Create a new document in a new tab in the editor, containing either an empty document or a document with default content as defined in the Properties dialog, Editor tab.

Open document

Open an existing document in the editor.

Save document

Save the current document with its current name, or prompts for a file name if the document has not been previously saved.

Save document as…

– Prompts you for a file name and saves the current document

Close document

Close the current document.

Document name Open a previously edited document in the editor. Properties

Open the Properties dialog in which you can view and edit your preferences for the WAC.

Cookies

Open the Cookies dialog in which you can view and delete cookies that have been received when requesting data from a server.

Quit – Close WAC.

8.2.2 Edit menu

Menu command Toolbar button

Description

Cut

Remove the currently selected area of text in the editor and copy it to the clipboard.

Copy

Copy the currently selected area of text from the editor to the clipboard.

Page 38: User Guide WAC 4.2

- 38 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

Paste

Insert text from the clipboard at the cursor position.

Undo

Undo the previous task.

Redo

Redo a previously undone task.

8.2.3 Actions menu

Menu command Toolbar button

Description

Send document

Send the currently open document to the Wib Phone internally.

Send with presets Opens a dialog where you can set the variables '90'h – '93'h before sending the document to the Wib phone. This can be used to simulate that an event has triggered the wiblet execution.

Push document

Construct a proper push message containing the currently open WML document and send it to the specified IP address.

Validate document

Validate the currently open WML document. If there are any errors, for example missing end tags, they will be shown in the message panel below the editor.

Add wiblet

Generate byte code from the currently open WML document and save it as a local wiblet.

Group variables

Create a group a variable structure to be used by the ungroupvar element in a wiblet.

Display variables – Displays the values together with the variableId. The value can be modified.

Page 39: User Guide WAC 4.2

- 39 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

8.2.4 Help menu

Menu command Toolbar button

Description

Help

Open the WAC online help. It consist of these documents: 1. WAC User Guide 2. WIG WML version 4 Specification 3. WIG WML version 5 Specification 4. Guideline for development of Wib services 5. Wib Plug-in Specification

About – The present version WAC Home – Open the WAC home page in your default browser.

8.3 Dialogs

8.3.1 Properties

Automatically validate changed WML after <n> seconds

Select it if you want the validation process to start automatically when the designated number of seconds has passed since the edited WML has been changed. Experienced users will find this feature useful, but keep in mind that validation takes some time and setting too short an interval can result in continuous validation which slows you down.

Automatically visualize incoming WML document

When this checkbox is selected, a WML document received over a network to the incoming tab is automatically sent to the Wib Phone. Regardless of the defined push MSISDN and Wib Phone MSISDN, all incoming WML documents are automatically shown in the Wib Phone.

Content for new WML documents

Here you can define the contents of a new document. The document can be specified as empty by choosing None, or it can contain the default document, or any other selected WML document.

Maximum HTTP log length in characters

Here you can define the HTTP log length in characters. When the defined number of characters is exceeded, the oldest lines will be deleted.

Page 40: User Guide WAC 4.2

- 40 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

WML Editor Font Click to select the WML editor font.

Support Unicode characters in user input

Select it to enable the use of Unicode characters.

Font size on phone screen

Define here the font size on the Wib Phone display. 16 pt is a good choice, but you might want to change this when you are using for example Asian characters. To make them readable, they should be bigger than normal ASCII characters.

Display font weight as Here you can select whether the font is bold or regular. Select font family Here you can define whether the font style is Serif or

Sans Serif. Select skin Here you can select a skin for the Wib Phone. Refer to

“Create a skin” on page 50 if you want to create your own skin.

Remote WIG address and port

Specify the IP address and port number of the remote WIG Server you are sending the push messages to. You can also type your own local IP so that the push messages will be sent to the same WAC. By default, WAC listens to port 5008.

Recipient MSISDNs Enter here the MSISDNs (phone numbers) to which the WIG Server will send the push messages. Because WIG has multicasting ability, you can type several numbers into this field, separated by semicolons (;).

Simulate confirmed quality of service

If this checkbox is selected, WAC will request a confirmation message from the remote WIG Server.

Confirm URL Type here the URL to which the confirmation message is sent.

Push priority Used when WAC is used to push a S@T deck2 S@T Push Name Used when WAC is used to push a S@T deck

2Note that WAC has no support for emulating S@T commands, but can be used for pushing of S@T decks.

Page 41: User Guide WAC 4.2

- 41 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

WAC listens for push messages in port <port>

Here you can change the WAC HTTP port. This port is used for receiving incoming WML documents from remote applications. Note that you have to restart the application after you have changed the port number.

Automatically forward incoming push messages after <n> seconds

When WAC receives an incoming message, it is possible to forward this message further to a real or simulated WIG. WAC waits for the time specified here and sends the same message to the WIG specified in the Remote WIG address and port field.

Select simulated transport security level

Select the security level according to the security level in the Delivery Platform and WIG you are using. The selection affects the byte code length and number of short messages. Options: • No security used. • Data in clear, data not encrypted. • Encrypted data, authentication and data encryption.

Wib version Select here the Wib version you want the Wib Phone to simulate. The options are Wib 1.1, Wib 1.1.1, Wib 1.2, Wib 1.2.1, Wib 1.3 and Wib 2.0. Wib versions support different commands and the differences between the versions are described in [3] “Application Developer Guide – Development of Wib Services”. The syntax is described in [4] “WIG WML v4 Specification” or [5] “WIG WML v5 Specification”. You find both documents in the WAC online help. Information about which Wib version is currently selected is displayed in the WAC application’s title bar.

WML version If WML version 3 is selected, Wib 1.3 and Wib 2.0 cannot be selected as Wib version. If WML version 4 is selected, Wib 2.0 cannot be selected as Wib version.

Allow old WIG WML Allow older WIG WML code than version 4. This parameter is valid if you use DP version 6.1. If DP version 6.0 is used, only old WIG WML will work.

Page 42: User Guide WAC 4.2

- 42 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

Default char set Set the default character set if you allow old WIG WML code. This character set will be used if no UTF-8 character set is specified in the WML document, e.g.: <?xml version="1.0" encoding="UTF-8"?>

Maximum byte code lengths

These settings are for the so-called sanity checks in Transform and sets limits on how long commands are allowed in byte code. The settings correspond to the settings that the PLMN operator applies and that is configurable in WIG Server. The default values here are the same as for the WIG Server. There is normally no reason to change these settings. Note. Only change these settings after consulting your PLMN operator.

Reset default values Resets the values for maximum byte code lengths to their default values.

This tab contains information on the simulated Wib. Information can be inserted in hexadecimal format, two characters representing one byte (for example 0F1A). These values are returned and used by the various plug-ins, STK commands and Wib commands, such as Retrieve Terminal Profile and Provide Local Information. For details and examples, refer to [4] “WIG WML v4 Specification” or [5] “WIG WML v5 Specification”.

Wib version information This field holds information returned by the <getbrowserinfo> WML element.

Profile information Set a terminal profile for the Wib Phone. When the mobile station is being initialized, after a power-up or reset, the phone notifies the SIM card of its capabilities by sending it the so-called “Terminal Profile”. The “Terminal Profile” is stored on the SIM and may be tested by Wib, using the <checkterminalprofile> WML element.

Location information Location of the phone; cell identity. This field must be edited to hold user specific information according to [9] “GSM 11.14” and will be returned by the <providelocalinfo> WML element.

Page 43: User Guide WAC 4.2

- 43 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

IMEI Enter an IMEI (International Mobile Equipment Identity) number for the Wib Phone. The IMEI will be returned by the <providelocalinfo> WML element but the output will however be somewhat scrambled according to [9] “GSM 11.14”. The number of characters must be at least 14 (otherwise WAC will complain), but only the first 14 characters will be used. Tip. Enter * # 06 # on a mobile phone to get its IMEI displayed.

NMR & BCCH Information about the network. Network Measurement Results (NMR) and Broadcast Control Channel (BCCH). This field must be edited to hold user specific information according to [9] “GSM 11.14” and will be returned by the <providelocalinfo> WML element.

Date, time and time zone Date and time for the phone. This field must be edited to hold user specific information according to [9] “GSM 11.14” and will be returned by the <providelocalinfo> WML element.

Language settings Language used in mobile. The code corresponding to the selected language that will be returned by the <providelocalinfo> WML element, but does not reflect the actual language used by WAC. For viewing Unicode characters in WAC, refer to “Character encoding” on page 31.

Timing advance Lap in time between ME and base station. This field must be edited to hold user specific information according to [9] “GSM 11.14” and will be returned by the <providelocalinfo> WML element.

AccessTech Access Technology data. This field must be edited to hold user specific information according to [9] “GSM 11.14” and will be returned by the <providelocalinfo> WML element.

ESN Electronic Serial Number. This field must be edited to hold user specific information according to [9] “GSM 11.14” and will be returned by the <providelocalinfo> WML element.

IMEISV International Mobile Equipment Identity and Software Version. This field must be edited to hold user specific information according to [9] “GSM 11.14” and will be returned by the <providelocalinfo> WML element.

Page 44: User Guide WAC 4.2

- 44 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

SearchMode This field must be edited to hold user specific information according to [9] “GSM 11.14” and will be returned by the <providelocalinfo> WML element.

Battery Battery status. This field must be edited to hold user specific information according to [9] “GSM 11.14” and will be returned by the <providelocalinfo> WML element.

MEID Mobile Equipment IDentity. This field must be edited to hold user specific information according to [9] “GSM 11.14” and will be returned by the <providelocalinfo> WML element.

WSID WLAN Specific Identifier. This field must be edited to hold user specific information according to [9] “GSM 11.14” and will be returned by the <providelocalinfo> WML element.

MSISDN Mobile Subscriber ISDN Number ICCID The ICCID (Integrated Circuit Card ID) for the Wib

Phone (SIM). Wiblet return levels The number of levels wiblets are allowed to be executed

and then returned to the original WML document. Value –1 enables an unlimited number of levels. Note. A Wib based card is only required to support one return level for wiblets. How many levels that are actually supported is card specific.

Reset default values Resets the values for Wib version information and Profile information to their default values

Include Wib Phone MSISDN

Specify here whether the MSISDN will be included in the HTTP headers or as a parameter in the request.

Include X-Wig-Iccid in HTTP header

Select it to insert ICCID in the HTTP header.

Default Icon Icons are supported with Wib 1.3 and later. Here you can change default Icon. This icon will be displayed if the WML code refers to any icons.

Change Enables you to select the graphic file to be used as default Icon. Select the file and click Select.

Locally stored wiblets Manage all your locally stored wiblets. wiblet URI The locally stored wiblets. ScriptID Identifies script in the byte code. For information only, it

cannot be changed. The ID is calculated automatically when the WML document is transformed into a wiblet (byte code).

Page 45: User Guide WAC 4.2

- 45 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

Remove Delete the selected wiblet. A deletion cannot be un-done. Remove All Delete all locally stored wiblets. This operation cannot be

un-done. Static URL references For a description of static URL references, refer to [3]

“Application Developer Guide – Development of Wib Services”.

Add Add a static URL reference. Remove Remove the selected static URL reference Remove All Remove all static URL references.

The Plug-ins tab contains a list of available plug-ins. Select a plug-in in the list to add and view its properties.

1st Gen 3DES 1st Generation 3DES secret key for the ENCR, DECR and SIGN plug-ins. The key value is entered as 24 bytes, in hexadecimal format, two characters representing one byte (a total of 48 characters). WAC uses this key independent of which key index is specified in the plug-in call. Click Set key to save the key value.

2nd Gen 3DES 2nd Generation 3DES secret key for the DD, DE and DS plug-ins. The key value is entered as 24 bytes, in hexadecimal format, two characters representing one byte (a total of 48 characters). WAC uses this key independent of which key index is specified in the plug-in call. Click Set key to save the key value.

P7 You can generate a different key for simulating P7, FP and AD plug-ins.

FP Plug-in for Finger Print. The FP plug-in is used to provide a digital signature based on a private RSA key stored on a SIM card.

AD This plug-in is used for application-level asymmetric decryption.

RTPROF Retrieve Terminal Profile – retrieves the terminal profile of the phone.

PAD Storage The plug-in is used to create, read, update, and delete privileged application data stored in a SIM card.

RRFMS Retrieve Remote File Management Status – check the status of the latest RFM operation.

Page 46: User Guide WAC 4.2

- 46 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

ICCID The *ICCID plug-in provides functionality for the retrieval of the ICCID of the card where WIB is executing.

LUHN plugin This plug-in calculates a checksum with the LUHN algorithm.

EM Management of the event mechanism. New Plug-in… Creates a plug-in that adds an entry in the

'<UserHome>/.wac/conf/PluginFactory.xml' file. The named plug-in uses the default implementation along with the default GUI implementation.

Page 47: User Guide WAC 4.2

- 47 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

9 Appendix A: Security

9.1 Key file generated with OpenSSL

Example of a key file generated with OpenSSL in text format: Private-Key: (1024 bit) modulus: 00:cb:27:79:b4:4b:b2:d2:87:f6:e0:12:dc:9e:9b: f2:62:72:6a:39:1f:ae:50:fc:1b:73:ec:91:b5:64: ed:59:cd:c4:de:04:6d:8a:94:75:0b:b6:77:95:55: 7c:07:09:ae:c1:17:96:3d:c6:92:97:1e:5a:4c:d1: 89:fd:04:e3:1f:c9:f3:82:b2:b5:3c:c5:56:d3:fb: a7:18:51:08:b5:6a:e4:42:e8:16:de:64:a9:21:cd: f6:a7:69:94:e6:53:79:61:0a:9b:40:75:e9:c8:5a: 44:c0:66:d8:ef:99:7d:48:79:ae:6f:39:7e:28:d2: f6:89:2c:4a:2f:b7:d9:f2:19 publicExponent: 65537 (0x10001) privateExponent: 05:f7:99:de:8e:de:a8:ca:6f:98:f3:54:e1:9f:c9: 05:d5:40:83:7f:07:ba:bf:3c:fb:31:b6:b1:f2:4d: fa:76:4d:d3:0b:a4:40:0e:ce:45:52:cd:be:68:2d: 65:73:86:5b:8b:9a:d1:23:b5:08:95:4e:a7:b4:fb: ed:9f:a8:20:28:83:8b:a8:ac:35:c1:c2:db:2b:bb: 1b:a1:8d:ac:ec:21:01:ad:8b:c5:c7:cd:f3:7d:f5: 45:78:49:cf:cf:0a:99:44:a4:8f:7c:ce:e9:c2:c6: 5c:bf:22:c1:fa:3f:37:b0:01:45:11:b2:e0:23:7a: 0a:0d:d2:3c:22:97:f4:05 prime1: 00:e6:7d:e0:b2:e8:ea:f7:e5:d2:41:c8:e9:96:ab: 3e:55:85:4b:2d:b1:6e:22:e6:b4:dd:38:db:9b:3a: 51:7a:08:1e:08:28:ac:b5:ba:2c:3c:93:38:17:ce: 6e:d8:69:4e:16:35:97:5d:b7:59:ef:9e:41:d3:c9: c8:b4:18:ef:87 prime2: 00:e1:a3:17:65:d1:0c:c9:3c:c0:7b:fd:eb:15:27: 8a:ca:a4:47:94:6f:5e:7e:2b:d8:45:e2:71:91:02: 65:ec:ab:de:2c:5c:7b:e5:a2:91:62:b2:86:e9:a3: 4a:3a:9a:2b:b2:78:d5:55:ff:bf:8c:36:f6:1b:f4: 3d:69:9c:39:5f exponent1: 00:80:3f:0f:f4:5c:36:c9:02:1e:10:2e:6b:12:43: 6b:e6:87:c9:01:be:94:aa:64:b5:c3:d5:6c:13:9d: ca:51:dd:0c:60:bb:c9:05:40:76:76:a9:ef:6f:07: 94:93:63:5c:68:6d:1f:30:ac:e1:24:bb:68:a3:1f: c6:45:b7:0e:27 exponent2: 65:6a:d9:ec:70:bf:2f:80:78:00:03:4c:73:d0:b7: 28:88:18:88:56:5a:81:99:91:77:2f:e5:dd:c8:d7: 29:3e:c2:f8:eb:84:e0:dd:66:3d:97:82:de:66:ff: c9:41:5c:9c:b6:85:25:47:73:c0:41:3f:f3:a6:9f: 27:e6:09:3f coefficient: 22:23:b7:9d:2a:2c:ce:15:bb:0a:0f:81:71:f1:d3: 70:8c:20:b6:3c:70:bb:18:e4:57:9b:0c:73:9d:ac: 69:37:ba:dc:8c:87:40:df:b3:cf:fe:f0:d3:f0:33: 44:79:32:a7:78:3f:78:33:c9:b6:8c:f5:6d:2d:01: e9:27:c0:37 -----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQDLJ3m0S7LSh/bgEtyem/Jicmo5H65Q/Btz7JG1ZO1ZzcTeBG2K lHULtneVVXwHCa7BF5Y9xpKXHlpM0Yn9BOMfyfOCsrU8xVbT+6cYUQi1auRC6Bbe ZKkhzfanaZTmU3lhCptAdenIWkTAZtjvmX1Iea5vOX4o0vaJLEovt9nyGQIDAQAB AoGABfeZ3o7eqMpvmPNU4Z/JBdVAg38Hur88+zG2sfJN+nZN0wukQA7ORVLNvmgt ZXOGW4ua0SO1CJVOp7T77Z+oICiDi6isNcHC2yu7G6GNrOwhAa2LxcfN8331RXhJ

Page 48: User Guide WAC 4.2

- 48 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

z88KmUSkj3zO6cLGXL8iwfo/N7ABRRGy4CN6Cg3SPCKX9AUCQQDmfeCy6Or35dJB yOmWqz5VhUstsW4i5rTdONubOlF6CB4IKKy1uiw8kzgXzm7YaU4WNZddt1nvnkHT yci0GO+HAkEA4aMXZdEMyTzAe/3rFSeKyqRHlG9efivYReJxkQJl7KveLFx75aKR YrKG6aNKOporsnjVVf+/jDb2G/Q9aZw5XwJBAIA/D/RcNskCHhAuaxJDa+aHyQG+ lKpktcPVbBOdylHdDGC7yQVAdnap728HlJNjXGhtHzCs4SS7aKMfxkW3DicCQGVq 2exwvy+AeAADTHPQtyiIGIhWWoGZkXcv5d3I1yk+wvjrhODdZj2Xgt5m/8lBXJy2 hSVHc8BBP/OmnyfmCT8CQCIjt50qLM4VuwoPgXHx03CMILY8cLsY5FebDHOdrGk3 utyMh0Dfs8/+8NPwM0R5Mqd4P3gzybaM9W0tAeknwDc= -----END RSA PRIVATE KEY-----

9.2 carddb.xml file with OpenSSL keys

Example of a carddb.xml file with OpenSSL keys: <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <carddb> <!-- Default SIM card --> <simcard name="default"> <!-- EF iccid --> <ef fid="2fe2" name="iccid" type="transparent"> <body> <hex>98:64:10:00:00:20:10:00:34:52</hex> </body> </ef> <!-- EF skey --> <ef name="skey" type="linear"> <body> <record id="1"> <hex>001111111111111111111111111111550011111111111888</hex> </record> </body> </ef> <!-- EF 2gdes --> <ef name="2gdes" type="linear"> <body> <record id="1"> <hex>1133557799bbddffffddbb99775533111133557799bbd777</hex> </record> </body> </ef> <!-- EF url --> <ef fid="6f10" name="url" type="transparent"> <body> <tlv format="llv"> <tlv tag="5"> <text>http://foobar/ophelia</text> </tlv> </tlv> </body> </ef> <!-- EF p7-key-nr --> <ef name="prkey" type="transparent"> <body> <!-- modulus --> <tlv tag="1"> <hex> b5:e7:d9:0e:e3:f2:18:17:54:6c:b6:c8:99:45:f7: 39:1f:6c:5e:72:cb:1c:b5:15:74:76:b9:f7:b8:8f: a4:78:99:04:08:ad:3b:cd:39:b0:0b:60:99:2f:34: 2f:00:17:e1:04:2f:fb:0c:4f:46:68:97:c5:c6:7e: a5:a9:db:11:88:4a:3a:a2:d1:33:67:5d:4c:64:e7: 9b:c1:44:f7:60:7b:58:2f:e7:8e:44:76:07:b2:83: 41:b9:05:00:7c:0b:30:16:78:54:4b:39:9e:67:64: 39:58:9e:e4:66:82:77:88:8c:cc:19:9b:1f:f1:c8: 44:db:8d:5c:92:2d:24:6f:

Page 49: User Guide WAC 4.2

- 49 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

</hex> </tlv> </body> </ef> </simcard> </carddb>

Page 50: User Guide WAC 4.2

- 50 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

10 Appendix B: Create a skin

10.1 Introduction

This appendix describes how to create a new skin for the Wib Phone. The tools you need: 1. A graphical editor, e.g. Paint. 2. A text editor, e.g. Notepad. 3. Zip program, e.g. WinZip. Not needed if you use

Windows XP. Main steps are: 1. Create the picture of the phone model. 2. Create a graphical mask. 3. Update a XML file. 4. Zip the files and install. 5. Use it!

10.2 Instruction

10.2.1 Create the picture

1. Get a good front view picture of the phone model. 2. Open the picture in a graphical editor. 3. Resize the picture to 200 x 487 pixels. 4. Check the size of the phone's display, you will need it later.

Write the X, Y coordinates of its top left corner and its width and height.

5. Save it as a GIF file, name it skin.gif.

10.2.2 Create the graphical mask

1. Use the skin.gif picture you have in the graphical program, save it as mask.gif.

2. OK, here is the tricky part. Each of the buttons for navigation must be painted with a specific color. The buttons and colors are:

Page 51: User Guide WAC 4.2

- 51 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

Button name

Color HTML Code RGB code

Yes #00FF00 0, 255, 0 No #FF0000 255, 0, 0 Up #0000FF 0, 0, 255 Down #FFFF00 255, 255, 0

3. Paint with rectangles to keep it simple:

Note. For a more precise layout of the buttons, use the selection tools in your graphical program and select and paint each button.

4. Save mask.gif when you are finished.

10.2.3 Update the XML file

1. Open a text editor, e.g. Notepad. 2. Enter this text:

<skin> <screen x="38" y="132" width="116" height="96" color="#E3FAF8" /> <button name="yes" color="#00FF00" /> <button name="no" color="#FF0000" /> <button name="up" color="#0000FF" /> <button name="down" color="#FFFF00" /> </skin>

3. Specify the size of the phone's display in the screen tag.

4. color="#E3FAF8" is the background color that will be used for the display, you can change it to something more suitable.

5. Save the file as skin.xml.

10.2.4 Zip and install

1. You should now have three files: skin.gif, mask.gif and skin.xml.

2. These files must be compressed into a Zip file. Name the file after the phone model, e.g. Sony Ericsson T68i.zip.

Page 52: User Guide WAC 4.2

- 52 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

3. Place the file in the skins directory. The default location is: C:\Program Files\Smarttrust\WigApplicationCreator\etc\skins

10.2.5 Use the new skin

1. Pay off time! Start WAC. 2. Open the Properties dialog. 3. Click the Wib Phone tab. 4. Your new skin should be listed under Select skin. 5. Select your skin and click Apply. 6. The Wib Phone should now have your new skin.

Page 53: User Guide WAC 4.2

- 53 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

11 Glossary

BCCH Broadcast Control Channel

DLL Dynamic Link Library

DTD Document Type Definition

ICCID Integrated Circuit Card Identifier. The serial number of the SIM card.

IMEI International Mobile Equipment Identification

ISDN Integrated Services Digital Network

JCE Java Cryptography Extension

JRE Java Runtime Environment

MSISDN Mobile Station ISDN Number. Mobile subscriber’s telephone number.

NMR Network Measurement Results

STK SIM Application Toolkit

Service A service consists of one or more wiblets.

SIM Subscriber Identity Module

UG Universal Gateway Wib SmartTrust Wib™

Wib Service See Service.

wiblet One compiled WML document that may be executed by Wib.

WIG Wireless Internet Gateway

Page 54: User Guide WAC 4.2

- 54 -

User GuideWAC 4.2

Doc

umen

t num

ber:

90-3

43

Rev

isio

n: 1

.1 2

010-

03-1

0

WML Wireless Markup Language

WSM Wireless Service Management