Skip to content

Commit

Permalink
Version v1.0.2 of tsm-api was created, even though it is identical to…
Browse files Browse the repository at this point in the history
… v1.0.1, to maintain consistent version numbering across BSI-TR-03165, tsm-api, and tsm-rest-api.
  • Loading branch information
a1608 committed Apr 5, 2023
1 parent 911d192 commit 9170b25
Show file tree
Hide file tree
Showing 8 changed files with 108 additions and 17 deletions.
3 changes: 2 additions & 1 deletion tsm-api/.gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
.idea
.idea/**
*.iml
target
javadocs
dist/*SNAPSHOT*
Expand Down
15 changes: 15 additions & 0 deletions tsm-api/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,21 @@
# Changelog
Changelog file for BSI tsm-api.

## [1.0.2] - 05.04.2023
* the version of tsm-api (v1.0.2) is identical to v1.0.1, as there were no differences in the TSM-API specifications between BSI-TR-03165 v1.0.1 and v1.0.2
* the version number (v1.0.2) was only created to maintain consistency across BSI-TR-03165, tsm-api, and tsm-rest-api.

## [1.0.1] - 14.02.2023
* modifications to be compliant to BSI TR-03165 v1.0.1:
* added new method setCustomAccessToken
* EErrorTypes: renamed INVALID_REQUEST to INVALID_ARGUMENT
* EErrorTypes: renamed CONTENT_RELATED_ERROR to SECURE_COMPONENT_ERROR
* EErrorTypes: renamed INVALID_STATE to NOT_ALLOWED
* EErrorTypes: added new error types ALREADY_EXISTS, UNAUTHORIZED, ISSUER_ERROR, NOT_FOUND, OVERLOAD_PROTECTION, UNDER_MAINTENANCE
* changed maven groupId and java package from de.bsi.tsms to de.bund.bsi.tsms
* corrected spell issues
* updated maven plugins to latest stable versions

## [1.0.0] - 07.06.2022
* created project
* compliant to BSI TR-03165 v1.0
Expand Down
17 changes: 9 additions & 8 deletions tsm-api/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# TSM-API

*Last updated: 07.06.2022*
*Last updated: 14.02.2023*

The module **tsm-api** is a Java realization of the TSM-API specified in section 4.2 of [BSI-TR-03165](https://www.bsi.bund.de/DE/Themen/Unternehmen-und-Organisationen/Standards-und-Zertifizierung/Technische-Richtlinien/TR-nach-Thema-sortiert/tr03165/tr-03165.html). It is a submodule of [GitHub-BSI-TSMS](../README.md).

Expand All @@ -24,7 +24,7 @@ Content:
</li>
</ol>

*Attention: the **tsm-api.jar** is just a collection of interfaces and simple data transfer objects (DTO). It does not contain the concrete TSM implementation needed to install applets on secure elements.*
*Attention: the **tsm-api.jar** is a collection of interfaces and simple data transfer objects (DTO). It does not contain the concrete TSM implementation needed to install applets on secure elements.*

<a name="motivation"></a>
## 1. Motivation
Expand All @@ -46,13 +46,13 @@ Installing JavaCard applets on a secure component of a smartphone is step three

The resulting build artifacts of this module are:

* **[tsm-api-1.0.0.jar](dist/1.0.0/tsm-api-1.0.0.jar)**
* **[tsm-api-1.0.2.jar](dist/1.0.2/tsm-api-1.0.2.jar)**
* can be included into an Android app to use a TSMS by calling TSM-API methods
* provide default implementations for all data types required by the TSM-API
* can be used to implement a TSM-API-SDK according to BSI-TR-03165
* **[tsm-api-1.0.0-javadoc.jar](dist/1.0.0/tsm-api-1.0.0-javadoc.jar)**
* **[tsm-api-1.0.2-javadoc.jar](dist/1.0.2/tsm-api-1.0.2-javadoc.jar)**
* JavaDoc documentation of the TSM-API interfaces, enums and classes
* **[tsm-api-1.0.0-sources.jar](dist/1.0.0/tsm-api-1.0.0-sources.jar)**
* **[tsm-api-1.0.2-sources.jar](dist/1.0.2/tsm-api-1.0.2-sources.jar)**
* source code of the TSM-API


Expand Down Expand Up @@ -115,7 +115,7 @@ For all processes, the smartphone app needs no direct connection to the vendor o

<a name="api_methods"></a>
### 3.4 API Method Overview
The interface [ITsmApiService](src/main/java/de/bsi/tsms/tsmapi/ITsmApiService.java) is the main entry point to use the tsm-api.jar. It contains all methods to install, update and uninstall JavaCard applets and apart from that, it offers some additional supporting operations. The following table lists all methods of the TSM-API:
The interface [ITsmApiService](src/main/java/de/bund/bsi/tsms/tsmapi/ITsmApiService.java) is the main entry point to use the tsm-api.jar. It contains all methods to install, update and uninstall JavaCard applets and apart from that, it offers some additional supporting operations. The following table lists all methods of the TSM-API:

| *Method* | *Description* |
|:------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
Expand All @@ -127,6 +127,7 @@ The interface [ITsmApiService](src/main/java/de/bsi/tsms/tsmapi/ITsmApiService.j
| updateService(..) | Remove old and install new version of JavaCard applet(s) configured in the TSM-Backend. |
| suspendOrResumeService(..) | Disable or enable the main JavaCard applet on the smartphone. |
| terminateService(..) | Remove a Service and its JavaCard applet(s) from the smartphone. |
| setCustomAccessToken(..) | An optional method to specify a custom access token to authenticate against the TSM-Backend. |


<a name="prerequisites"></a>
Expand All @@ -150,7 +151,7 @@ The following prerequisites are needed to use the TSM-API:

<a name="initialize"></a>
### 3.6 Initialize the TSM-API-SDK
The initialization of the TSM-API-SDK highly depends on the specific implementation details. The code snippet below shows the source code needed to initialize an TSM-API-SDK when Android Service binding is used.
The initialization of the TSM-API-SDK highly depends on the specific implementation details. The code snippet below shows the source code needed to initialize an TSM-API-SDK when Android Service binding is used.

```java
import android.content.ComponentName;
Expand All @@ -160,7 +161,7 @@ The initialization of the TSM-API-SDK highly depends on the specific implementat
import android.os.IBinder;
import android.util.Log;

import de.bsi.tsms.tsmapi.ITsmApiService;
import de.bund.bsi.tsms.tsmapi.ITsmApiService;
import your.tsm.provider.TsmApiServiceImpl;

...
Expand Down
23 changes: 23 additions & 0 deletions tsm-api/dist/1.0.2/changelog-tsm-api-1.0.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Changelog
Changelog file for BSI tsm-api.

## [1.0.2] - 05.04.2023
* the version of tsm-api (v1.0.2) is identical to v1.0.1, as there were no differences in the TSM-API specifications between BSI-TR-03165 v1.0.1 and v1.0.2
* the version number (v1.0.2) was only created to maintain consistency across BSI-TR-03165, tsm-api, and tsm-rest-api.

## [1.0.1] - 14.02.2023
* modifications to be compliant to BSI TR-03165 v1.0.1:
* added new method setCustomAccessToken
* EErrorTypes: renamed INVALID_REQUEST to INVALID_ARGUMENT
* EErrorTypes: renamed CONTENT_RELATED_ERROR to SECURE_COMPONENT_ERROR
* EErrorTypes: renamed INVALID_STATE to NOT_ALLOWED
* EErrorTypes: added new error types ALREADY_EXISTS, UNAUTHORIZED, ISSUER_ERROR, NOT_FOUND, OVERLOAD_PROTECTION, UNDER_MAINTENANCE
* changed maven groupId and java package from de.bsi.tsms to de.bund.bsi.tsms
* corrected spell issues
* updated maven plugins to latest stable versions

## [1.0.0] - 07.06.2022
* created project
* compliant to BSI TR-03165 v1.0


Binary file added tsm-api/dist/1.0.2/tsm-api-1.0.2-javadoc.jar
Binary file not shown.
Binary file added tsm-api/dist/1.0.2/tsm-api-1.0.2-sources.jar
Binary file not shown.
Binary file added tsm-api/dist/1.0.2/tsm-api-1.0.2.jar
Binary file not shown.
67 changes: 59 additions & 8 deletions tsm-api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,34 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>de.bsi.tsms</groupId>
<groupId>de.bund.bsi.tsms</groupId>
<artifactId>tsm-api</artifactId>
<version>1.0.0</version>
<version>1.0.2</version>

<name>TSM-API</name>
<description>The TSM-API is a Java realization of the TSM-API interface specified in BSI-TR-03165. This interface offers methods to install and remove JavaCard applets on eSEs (embedded Secure Elements) or eSIMs.</description>
<url>https://github.com/BSI-Bund/TSMS</url>

<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>

<scm>
<connection>scm:git:git://github.com/BSI-Bund/TSMS.git</connection>
<developerConnection>scm:git:ssh://github.com:BSI-Bund/TSMS.git</developerConnection>
<url>http://github.com/BSI-Bund/TSMS/tree/master</url>
</scm>

<build>
<plugins>
<!-- clean dist folder -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
<version>3.2.0</version>
<configuration>
<filesets>
<fileset>
Expand All @@ -34,10 +51,45 @@
</configuration>
</plugin>

<!-- replace version to ${project.version} in all documentation files -->
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>maven-replacer-plugin</artifactId>
<version>1.4.1</version>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>replace</goal>
</goals>
</execution>
</executions>
<configuration>
<basedir>${project.basedir}</basedir>
<includes>
<include>README.md</include>
</includes>
<regex>true</regex>
<replacements>
<!-- modify README.md tsm-api-$version-->
<replacement>
<token>tsm-api-\d\.\d\.\d(-SNAPSHOT)?</token>
<value>tsm-api-${project.version}</value>
</replacement>
<!-- modify README.md dist/$version -->
<replacement>
<token>dist\/\d\.\d\.\d(-SNAPSHOT)?</token>
<value>dist/${project.version}</value>
</replacement>
</replacements>
</configuration>
</plugin>

<!-- auto format source code -->
<plugin>
<groupId>net.revelc.code.formatter</groupId>
<artifactId>formatter-maven-plugin</artifactId>
<!-- do not upgrade to higher version, since those require jdk-11 (older jdk versions are then not supported anymore) -->
<version>2.16.0</version>
<configuration>
<lineEnding>CRLF</lineEnding>
Expand Down Expand Up @@ -80,7 +132,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.3.1</version>
<version>3.4.1</version>
<executions>
<execution>
<id>create-javadoc</id>
Expand All @@ -98,7 +150,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
<version>3.3.0</version>
<executions>
<execution>
<id>copy-jars-to-dist</id>
Expand All @@ -125,7 +177,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.0.0</version>
<version>3.1.0</version>
<executions>
<execution>
<id>extract-javadoc</id>
Expand Down Expand Up @@ -167,10 +219,9 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.1.2</version>
<version>3.2.1</version>
<configuration>
<configLocation>src/main/maven/checkstyle.xml</configLocation>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>false</failsOnError>
<linkXRef>false</linkXRef>
Expand Down

0 comments on commit 9170b25

Please sign in to comment.