The project provides API and realization of the Secured Packets. It can use different formats, used for different transport protocols. The transport Short Message Service Point-to-Point (SMS-PP) is the mainly used, but it also supports SMS-CN, CAT_TP, TCP/IP and USSD. It is used to the exchange of secured packets between an entity in a GSM/UMTS/LTE PLMN and an entity in the SIM/UICC. Secured Packets contain application messages to which certain mechanisms according to GSM 03.48 / ETSI 102 225 have been applied. Application messages are commands or data exchanged between an application resident in or behind the GSM/3G/4G PLMN and on the SIM/UICC.
The project was originally developed by Victor Platov. Initially the code was hosted on Google Code (https://code.google.com/archive/p/gsm0348/). After Google shutdown Google Code, the code was moved to GitHub (https://github.com/TapuGithub/gsm0348). Finally, the code was adopted by the Open Telecoms project.
The Sending Application prepares an Application Message and forwards it to the Sending Entity, with an indication of the security to be applied to the message. The Sending Entity prepends a Security Header (the Command Header) to the Application Message. It then applies the requested security to part of the Command Header and all of the Application Message, including any padding octets. The resulting structure is here referred to as the (Secured) Command Packet.
Under normal circumstances the Receiving Entity receives the Command Packet and unpacks it according to the security parameters indicated in the Command Header. The Receiving Entity subsequently forwards the Application Message to the Receiving Application indicating to the Receiving Application the security that was applied. The interface between the Sending Application and Sending Entity and the interface between the Receiving Entity and Receiving Application are proprietary.
If so indicated in the Command Header, the Receiving Entity shall create a (Secured) Response Packet. The Response Packet consists of a Security Header (the Response Header) and optionally, application specific data supplied by the Receiving Application. Both the Response Header and the application specific data are secured using the security mechanisms indicated in the received Command Packet. The Response Packet will be returned to the Sending Entity, subject to constraints in the transport layer, (e.g. timing).
This project designed to help building an Receiving/Sending Entity. It provides a library for construction of Secured Packets with all required security procedures - signing and ciphering, padding, redundancy checking and etc.
Short Message Service Point-to-Point (SMS-PP), Cell Broadcast (SMS-CB), USSD, CAT_TP and TCP/IP (HTTPS) are supported, except for the identification packer for TCP/IP.
<dependencies>
<dependency>
<groupId>org.opentelecoms.gsm0348</groupId>
<artifactId>gsm0348-api</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.opentelecoms.gsm0348</groupId>
<artifactId>gsm0348-impl</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
For a snapshot:
For a proper release:
mvn versions:set -DnewVersion=1.3.3
git commit -a -m "Set version to release 1.3.3"
git push origin
git tag -a 1.3.3 -m "1.3.3"
git push --tags origin
mvn clean deploy -P release
mvn nexus-staging:release
mvn versions:set -DnewVersion=1.3.4-SNAPSHOT
git commit -a -m "Set version to 1.3.4-SNAPSHOT"
# Or when something went wrong
mvn nexus-staging:drop
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3