Skip to content

Commit 03027bd

Browse files
committed
Add support for overriding the default signing algorithm used with jarsign
1 parent 7e1f931 commit 03027bd

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

src/Xamarin.Android.Build.Tasks/Tasks/AndroidSignPackage.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@ public class AndroidSignPackage : AndroidToolTask
3232

3333
public string TimestampAuthorityCertificateAlias { get; set; }
3434

35-
protected override string GenerateCommandLineCommands ()
35+
public string SigningAlgorithm { get; set; }
36+
37+
protected override string GenerateCommandLineCommands ()
3638
{
3739
var cmd = new CommandLineBuilder ();
3840

@@ -42,8 +44,8 @@ protected override string GenerateCommandLineCommands ()
4244
cmd.AppendSwitchIfNotNull ("-storepass ", StorePass);
4345
cmd.AppendSwitchIfNotNull ("-keypass ", KeyPass);
4446
cmd.AppendSwitchIfNotNull ("-digestalg ", "SHA1");
45-
cmd.AppendSwitchIfNotNull ("-sigalg ", "SHA1withRSA");
46-
cmd.AppendSwitchIfNotNull ("-signedjar ", String.Format ("{0}{1}{2}-Signed-Unaligned.apk", SignedApkDirectory, Path.DirectorySeparatorChar, Path.GetFileNameWithoutExtension (UnsignedApk)));
47+
cmd.AppendSwitchIfNotNull ("-sigalg ", string.IsNullorWitespace(SigningAlgorithm) ? "md5withRSA" : SigningAlgorithm);
48+
cmd.AppendSwitchIfNotNull ("-signedjar ", String.Format ("{0}{1}{2}-Signed-Unaligned.apk", SignedApkDirectory, Path.DirectorySeparatorChar, Path.GetFileNameWithoutExtension (UnsignedApk)));
4749

4850
cmd.AppendFileNameIfNotNull (UnsignedApk);
4951
cmd.AppendSwitch (KeyAlias);

src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2439,6 +2439,7 @@ because xbuild doesn't support framework reference assemblies.
24392439
ToolExe="$(JarsignerToolExe)"
24402440
TimestampAuthorityUrl="$(JarsignerTimestampAuthorityUrl)"
24412441
TimestampAuthorityCertificateAlias="$(JarsignerTimestampAuthorityCertificateAlias)"
2442+
SigningAlgorithm="$(_ApkSigningAlgorithm)"
24422443
/>
24432444
<Message Text="Signed android package '$(ApkFileSigned)'" />
24442445
<ItemGroup>

0 commit comments

Comments
 (0)