Skip to content

Add some notes on signing configuration while building Servo on OpenHarmony platform#217

Open
RichardTjokroutomo wants to merge 2 commits intoservo:mainfrom
RichardTjokroutomo:ohos-notes
Open

Add some notes on signing configuration while building Servo on OpenHarmony platform#217
RichardTjokroutomo wants to merge 2 commits intoservo:mainfrom
RichardTjokroutomo:ohos-notes

Conversation

@RichardTjokroutomo
Copy link
Copy Markdown
Contributor

@RichardTjokroutomo RichardTjokroutomo commented Mar 28, 2026

Added some additional notes on signing configuration step for those who intend to use Linux to develop Servo for OpenHarmony platform.

This will be helpful since the signing configuration step needs DevEco Studio to complete (at least if you're developing Servo for HarmonyOS devices), meanwhile DevEco Studio is presently only available on Windows & MacOS.

@RichardTjokroutomo
Copy link
Copy Markdown
Contributor Author

cc @jschwe

The key and salt used to encrypt the passwords are generated by DevEco Studio IDE and are stored on-disk alongside the certificate files and keystore, usually under `<USER HOME>/.ohos/config/openharmony`.

You can use the IDE to generate the information needed for password encryption, the required application and profile certificate files, and the keystore itself.
To generate the information needed for password encryption, the required application and profile certificate files, and the keystore itself, you can clone a [sample ArkTS app](https://github.com/jschwe/ServoDemo) and open it on DevEco Studio IDE.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps add a disclaimer here that the signing information is tied to the bundlename, so you can't just copy it from any other test app you might have, the bundlename needs to match (which it does for the linked ServoDemo).

@jschwe
Copy link
Copy Markdown
Member

jschwe commented Mar 28, 2026

This will be helpful since the signing configuration step needs DevEco Studio to complete, meanwhile DevEco Studio is presently only available on Windows & MacOS.

So for OpenHarmony DevEco Studio is not required, the secret is essentially public, and one can trvially generate the signing material as documented in the OpenHarmony docs. (It's not a security issue, since upstream OpenHarmony is essentially a demo platform, and any downstream distribution would change the signing keys (or leave them away in the first place).

For HarmonyOS DevEco is the easiest way. I've seen that there is now documentation how to generate signing configs via commandline and a website for HarmonyOS, but I haven't tried it out. I'd probably

…platform

Signed-off-by: Richard Tjokroutomo <richard.tjokro2@gmail.com>
@RichardTjokroutomo
Copy link
Copy Markdown
Contributor Author

This will be helpful since the signing configuration step needs DevEco Studio to complete, meanwhile DevEco Studio is presently only available on Windows & MacOS.

So for OpenHarmony DevEco Studio is not required, the secret is essentially public, and one can trvially generate the signing material as documented in the OpenHarmony docs. (It's not a security issue, since upstream OpenHarmony is essentially a demo platform, and any downstream distribution would change the signing keys (or leave them away in the first place).

For HarmonyOS DevEco is the easiest way. I've seen that there is now documentation how to generate signing configs via commandline and a website for HarmonyOS, but I haven't tried it out. I'd probably

I see. My bad...

Signed-off-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com>

**NOTE: The signature autogenerated above is intended only for development and testing. For production builds and distribution via an App Store, the relevant configuration needs to be obtained from the App Store provider.**

>For Linux users, DevEco Studio is only available on Windows and MacOS. To proceed, **you will need another Windows / MacOS machine with DevEco Studio IDE installed** to create the signing keys. If you're developing for OpenHarmony boards (such as HopeRun development board), then you can name the `SigningConfigs` `default`. Otherwise, set it to `hos` if you're developing Servo for HarmonyOS devices (such as Huawei Mate series phones).
Copy link
Copy Markdown
Member

@jschwe jschwe Apr 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
>For Linux users, DevEco Studio is only available on Windows and MacOS. To proceed, **you will need another Windows / MacOS machine with DevEco Studio IDE installed** to create the signing keys. If you're developing for OpenHarmony boards (such as HopeRun development board), then you can name the `SigningConfigs` `default`. Otherwise, set it to `hos` if you're developing Servo for HarmonyOS devices (such as Huawei Mate series phones).
>For Linux users, DevEco Studio is only available on Windows and MacOS. To proceed, **you will need another Windows / MacOS machine with DevEco Studio IDE installed** to create the signing keys.
If you're developing for OpenHarmony boards (such as HopeRun development board), then you can name the `SigningConfigs` `default`.
Otherwise, set it to `hos` if you're developing Servo for HarmonyOS devices.

The key and salt used to encrypt the passwords are generated by DevEco Studio IDE and are stored on-disk alongside the certificate files and keystore, usually under `<USER HOME>/.ohos`.

You can use the IDE to generate the information needed for password encryption, the required application and profile certificate files, and the keystore itself.
To generate the information needed for password encryption, the required application and profile certificate files, and the keystore itself, you can clone a [sample ArkTS app](https://github.com/jschwe/ServoDemo) and open it on DevEco Studio IDE. Note that since signing information is tied to the bundle name, not all ArkTS app will work, and therefore it is **highly** recommended to use the sample ArkTS app mentioned above.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To generate the information needed for password encryption, the required application and profile certificate files, and the keystore itself, you can clone a [sample ArkTS app](https://github.com/jschwe/ServoDemo) and open it on DevEco Studio IDE. Note that since signing information is tied to the bundle name, not all ArkTS app will work, and therefore it is **highly** recommended to use the sample ArkTS app mentioned above.
To generate the information needed for password encryption, the required application and profile certificate files, and the keystore itself, you can clone a [sample ArkTS app](https://github.com/jschwe/ServoDemo) and open it on DevEco Studio IDE.
Note that since signing information is tied to the bundle name, not all ArkTS app will work, and therefore it is **highly** recommended to use the sample ArkTS app mentioned above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants