background image

HARDWARE, SERVICE, OR ANY THIRD PARTY PRODUCTS AND SERVICES REFERENCED HEREIN INCLUDING WITHOUT LIMITATION ANY 
OF THE FOLLOWING DAMAGES: DIRECT, CONSEQUENTIAL, EXEMPLARY, INCIDENTAL, INDIRECT, SPECIAL, PUNITIVE, OR AGGRAVATED 
DAMAGES, DAMAGES FOR LOSS OF PROFITS OR REVENUES, FAILURE TO REALIZE ANY EXPECTED SAVINGS, BUSINESS INTERRUPTION, 
LOSS OF BUSINESS INFORMATION, LOSS OF BUSINESS OPPORTUNITY, OR CORRUPTION OR LOSS OF DATA, FAILURES TO TRANSMIT 
OR RECEIVE ANY DATA, PROBLEMS ASSOCIATED WITH ANY APPLICATIONS USED IN CONJUNCTION WITH RIM PRODUCTS OR 
SERVICES, DOWNTIME COSTS, LOSS OF THE USE OF RIM PRODUCTS OR SERVICES OR ANY PORTION THEREOF OR OF ANY AIRTIME 
SERVICES, COST OF SUBSTITUTE GOODS, COSTS OF COVER, FACILITIES OR SERVICES, COST OF CAPITAL, OR OTHER SIMILAR 
PECUNIARY LOSSES, WHETHER OR NOT SUCH DAMAGES WERE FORESEEN OR UNFORESEEN, AND EVEN IF RIM HAS BEEN ADVISED OF 
THE POSSIBILITY OF SUCH DAMAGES.

TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW IN YOUR JURISDICTION, RIM SHALL HAVE NO OTHER OBLIGATION, DUTY, 
OR LIABILITY WHATSOEVER IN CONTRACT, TORT, OR OTHERWISE TO YOU INCLUDING ANY LIABILITY FOR NEGLIGENCE OR STRICT 
LIABILITY.

THE LIMITATIONS, EXCLUSIONS, AND DISCLAIMERS HEREIN SHALL APPLY: (A) IRRESPECTIVE OF THE NATURE OF THE CAUSE OF 
ACTION, DEMAND, OR ACTION BY YOU INCLUDING BUT NOT LIMITED TO BREACH OF CONTRACT, NEGLIGENCE, TORT, STRICT LIABILITY 
OR ANY OTHER LEGAL THEORY AND SHALL SURVIVE A FUNDAMENTAL BREACH OR BREACHES OR THE FAILURE OF THE ESSENTIAL 
PURPOSE OF THIS AGREEMENT OR OF ANY REMEDY CONTAINED HEREIN; AND (B) TO RIM AND ITS AFFILIATED COMPANIES, THEIR 
SUCCESSORS, ASSIGNS, AGENTS, SUPPLIERS (INCLUDING AIRTIME SERVICE PROVIDERS), AUTHORIZED RIM DISTRIBUTORS (ALSO 
INCLUDING AIRTIME SERVICE PROVIDERS) AND THEIR RESPECTIVE DIRECTORS, EMPLOYEES, AND INDEPENDENT CONTRACTORS.

IN ADDITION TO THE LIMITATIONS AND EXCLUSIONS SET OUT ABOVE, IN NO EVENT SHALL ANY DIRECTOR, EMPLOYEE, AGENT, 
DISTRIBUTOR, SUPPLIER, INDEPENDENT CONTRACTOR OF RIM OR ANY AFFILIATES OF RIM HAVE ANY LIABILITY ARISING FROM OR 
RELATED TO THE DOCUMENTATION.

Prior to subscribing for, installing, or using any Third Party Products and Services, it is your responsibility to ensure that your airtime service 
provider has agreed to support all of their features. Installation or use of Third Party Products and Services with RIM's products and services 
may require one or more patent, trademark, copyright, or other licenses in order to avoid infringement or violation of third party rights. You are 
solely responsible for determining whether to use Third Party Products and Services and if any third party licenses are required to do so. If 
required you are responsible for acquiring them. You should not install or use Third Party Products and Services until all necessary licenses 
have been acquired. Any Third Party Products and Services that are provided with RIM's products and services are provided as a convenience 
to you and are provided "AS IS" with no express or implied conditions, endorsements, guarantees, representations, or warranties of any kind by 
RIM and RIM assumes no liability whatsoever, in relation thereto. Your use of Third Party Products and Services shall be governed by and 
subject to you agreeing to the terms of separate licenses and other agreements applicable thereto with third parties, except to the extent 
expressly covered by a license or other agreement with RIM.

The terms of use of any RIM product or service are set out in a separate license or other agreement with RIM applicable thereto. NOTHING IN 
THIS DOCUMENTATION IS INTENDED TO SUPERSEDE ANY EXPRESS WRITTEN AGREEMENTS OR WARRANTIES PROVIDED BY RIM FOR 
PORTIONS OF ANY RIM PRODUCT OR SERVICE OTHER THAN THIS DOCUMENTATION.

Certain features outlined in this document require a minimum version of BlackBerry Enterprise Server Software, BlackBerry Desktop Software, 
and/or BlackBerry Handheld Software and may require additional development or third-party products and/or services for access to corporate 
applications.

Published in Canada

Research In Motion Limited

 

295 Phillip Street

 

Waterloo, ON N2L 3W8

 

Canada

Research In Motion UK Limited

 

Centrum House, 36 Station Road

 

Egham, Surrey TW20 9LF

 

United Kingdom

Содержание JAVA DEVELOPMENT ENVIRONMENT - - CRYPTOGRAPHIC SMART CARD DRIVER - DEVELOPMENT GUIDE

Страница 1: ...BlackBerry Java Development Environment Version 4 6 0 Cryptographic Smart Card Driver Development Guide...

Страница 2: ...that is contained in this documentation however RIM makes no commitment to provide any such changes updates enhancements or other additions to this documentation to you in a timely manner or at all T...

Страница 3: ...LITY ARISING FROM OR RELATED TO THE DOCUMENTATION Prior to subscribing for installing or using any Third Party Products and Services it is your responsibility to ensure that your airtime service provi...

Страница 4: ......

Страница 5: ...key file 8 2 Testing a cryptographic smart card driver 11 Set up the BlackBerry Device Simulator to test a cryptographic smart card driver 11 Set up a BlackBerry device to test a cryptographic smart c...

Страница 6: ......

Страница 7: ...ormation on S MIME The smart card API information included with BlackBerry JDE Version 4 2 or later contains some deprecated elements The deprecated elements provide backward compatibility for a crypt...

Страница 8: ...he Application tab in the Project type field type Library 4 Select the Auto run on startup check box 5 In the Startup Tier field select the 7 Last 3rd party apps only option 6 Click OK Create a libMai...

Страница 9: ...Berry Device Software Version 4 2 or later implement CryptoSmartCardSession getKeyStoreDataArrayImpl as follows RSACryptoToken token new MyRSACryptoToken RSACryptoSystem cryptoSystem new RSACryptoSyst...

Страница 10: ...rsistable To create a cryptographic smart card driver that is compatible with BlackBerry Device Software Version 4 1 and Version 4 2 or later and to include the cryptographic smart card driver in two...

Страница 11: ...PrivateKeyData privateKeyData Enable decryption of unprocessed data Perform one of the following steps To create a cryptographic smart card driver that is compatible with BlackBerry Device Software Ve...

Страница 12: ...ESC SmartCardSession SIGN_OPERATION To create a cryptographic smart card driver that is compatible with BlackBerry Device Software Version 4 1 and Version 4 2 or later and to include the cryptographic...

Страница 13: ...a private key file on the smart card on page 28 for more information Retrieve the location of the private key file on the smart card Create a method that returns the location of the private key file...

Страница 14: ...10 Cryptographic Smart Card Driver Development Guide...

Страница 15: ...Simulator to test a cryptographic smart card driver Set up a BlackBerry device to test a cryptographic smart card driver Test the cryptographic smart card driver Note You do not require the Casira Bl...

Страница 16: ...evice Task Steps Make sure the cryptographic smart card driver is installed on a BlackBerry device 1 On the BlackBerry device click Options Security Options Smart Card 2 Ensure the cryptographic smart...

Страница 17: ...13 2 Testing a cryptographic smart card driver...

Страница 18: ...14 Cryptographic Smart Card Driver Development Guide...

Страница 19: ...byte 0x71 byte 0x8e byte 0x64 byte 0x86 byte 0xd6 byte 0x01 byte 0x00 byte 0x81 byte 0x90 byte 0x00 private final static AnswerToReset _myATR new AnswerToReset MY_ATR private static final String LABEL...

Страница 20: ...this smart card object to communicate with a physical smart card that has the given AnswerToReset The system invokes this method to ascertain which smart card implementation it should use to communica...

Страница 21: ...The driver should not block the event thread for long periods of time param context Reserved for future use protected void displaySettingsImpl Object context Dialog alert DISPLAY_SETTINGS Retrieve the...

Страница 22: ...o not hold open sessions when not using them they should be short lived As a security precaution only one open session is allowed to exist per SmartCardReader subsequent openSession requests will bloc...

Страница 23: ...wed login attempts The method returns Integer MAX_VALUE if an infinite number of attempts are allowed protected int getMaxLoginAttemptsImpl throws SmartCardException return 5 Retrieve the remaining nu...

Страница 24: ...A1Digest digest update uniqueCardData long idLong byteArrayToLong Arrays copy digest getDigest 0 8 Using friendly display name return new SmartCardID idLong ID_STRING getSmartCard Converts code array...

Страница 25: ...00 maxBytes ResponseAPDU response new ResponseAPDU sendAPDU command response Check for response codes specific to your smart card if response checkStatusWords byte 0x90 byte 0x00 The appropriate respo...

Страница 26: ...ata null ID_CERT privateKey null KeyStore SECURITY_LEVEL_HIGH certificate null null 0 stepProgressDialog 1 privateKey new RSAPrivateKey cryptoSystem new MyCryptoTokenData smartCardID SIGNING_PKI keySt...

Страница 27: ...lication Protocol Data Unit ResponseAPDU response new ResponseAPDU Construct the command and set its information Create a CommandAPDU which your smart card will understand CommandAPDU signAPDU new Com...

Страница 28: ...s an implmentation of an RSA cryptographic token The RIM Crypto API will use this object to perform a private key RSA operation This object should delegate the operation to the smart card final class...

Страница 29: ...oSystem cryptoSystem CryptoTokenPrivateKeyData privateKeyData throws CryptoTokenException return privateKeyData instanceof MyCryptoTokenData Perform RSA decryption of unprocessed data p Notes To revea...

Страница 30: ...sed If the RSA Crypto token requires the padding to be removed before signing this method will need to detect and remove the type of padding that is currently used The RSA Crypto token should only re...

Страница 31: ...ardFactory getSmartCardSession smartCardID if smartCardSession instanceof MyCryptoSmartCardSession MyCryptoSmartCardSession mySmartCardSession MyCryptoSmartCardSession smartCardSession We must provide...

Страница 32: ...api smartcard import net rim device api util This class stores the location of the private key file on the smart card final class MyCryptoTokenData implements CryptoTokenPrivateKeyData Persistable Sma...

Страница 33: ...ile containing the private key file return ID of the smart card public SmartCardID getSmartCardID return _id Retrieve the location of the private key file on the smart card return Location of the priv...

Страница 34: ...30 Cryptographic Smart Card Driver Development Guide...

Страница 35: ......

Страница 36: ...2007 Research In Motion Limited Published in Canada...

Отзывы: