Cloud-RF / tak-server

TAK Server docker setup
GNU General Public License v3.0
153 stars 52 forks source link

user dp zip files do not import certs in atak or itak #26

Closed erichexter closed 1 year ago

erichexter commented 1 year ago

Although the data package zip files correctly import the server locations and unzip the certs into atak and itak, the packages do not import the certificates so the connection is not functional. I manually created a atak zip and a itak zip for user1 and was able to get them to work correctly.

I dont mind making a pull request , but I would like to make sure I am following your direction on the approach.

Atak dp files MANIFEST/manifest.xml server.pref takserver.p12 user1.p12

iTak dp files: manifest.xml server.pref takserver.p12 user1.p12

I have not tested including the manifest.xml and the MANIFEST/manifest.xml in the same package. but its probably the next logical step as it could prevent making two os specific data packages.

erichexter commented 1 year ago

server.pref

<?xml version='1.0' encoding='ASCII' standalone='yes'?>
<preferences>
  <preference version="1" name="cot_streams">
    <entry key="count" class="class java.lang.Integer">1</entry>
    <entry key="description0" class="class java.lang.String">TAK Server </entry>
    <entry key="enabled0" class="class java.lang.Boolean">true</entry>
    <entry key="connectString0" class="class java.lang.String">[ip or fdnm]:8089:ssl</entry>
  </preference>
  <preference version="1" name="com.atakmap.app_preferences">
    <entry key="displayServerConnectionWidget" class="class java.lang.Boolean">true</entry>
    <entry key="caLocation" class="class java.lang.String">cert/takserver.p12</entry>
    <entry key="caPassword" class="class java.lang.String">atakatak</entry>
    <entry key="clientPassword" class="class java.lang.String">atakatak</entry>
    <entry key="certificateLocation" class="class java.lang.String">cert/user1.p12</entry>
  </preference>
</preferences>

manifest.xml

<MissionPackageManifest version="2">
  <Configuration>
    <Parameter name="uid" value="sponsored-by-cloudrf-the-api-for-rf"/>
    <Parameter name="name" value="user1 DP"/>
  </Configuration>
  <Contents>
    <Content ignore="false" zipEntry="server.pref"/>
    <Content ignore="false" zipEntry="takserver.p12"/>
    <Content ignore="false" zipEntry="user1.p12"/>
  </Contents>
</MissionPackageManifest>
FarrantAlex commented 1 year ago

I just followed the pinned article on #itak in the Discord and it worked. I tested your config and that worked also, noting the difference was the certs sub folder. This is in the latest release now.

erichexter commented 1 year ago

So my point was it works for iTAK but atak did not import the certs. I think atak needs the manifest in a sub folder

Here are the changes i made on a fork.

https://github.com/erichexter/tak-server/blob/main/scripts/certDP.sh