ライセンスを更新するため、新しく提供された、Aspose.Total.Java.licに置き換えました。
その結果、以下のエラーが発生しました。
com.aspose.barcode.PleaseReportException: The license signature is invalid. It looks like the license file was modified.
上記エラーが発生するのは、以下のコードになります。
ライセンス認証のところでこのエラーが発生します。
try (InputStream in = new ByteArrayInputStream(lic)) {
new com.aspose.barcode.License().setLicense(in); // ライセンス認証
} catch (Exception e) { // SUPPRESS IllegalCatchCheck
throw new DocumentProcessorFatalException(e);
}
これまで使用している、Aspose.Total.Java.licはエラーが起きません。
原因は何でしょうか?
@KazukiEndou
ライセンスファイルに関するエラー「com.aspose.barcode.PleaseReportException: The license signature is invalid. It looks like the license file was modified.」は、ライセンスファイルが変更された場合に発生します。新しく提供されたライセンスファイル(Aspose.Total.Java.lic)が正しくないか、ファイルが不正に変更された可能性があります。
以下の点を確認してください:
-
ライセンスファイルの整合性: 新しいライセンスファイルが正しい形式であることを確認してください。ライセンスファイルはXML形式であり、デジタル署名が含まれています。ファイルに余分な改行や空白が含まれていないか確認してください。これらの変更は、ライセンスの無効化を引き起こす可能性があります。
-
ライセンスの適用方法: コード内でライセンスを適用する際に、正しい方法でファイルを読み込んでいるか確認してください。以下のように、ストリームからライセンスを設定する方法が正しいです:
try (InputStream in = new ByteArrayInputStream(lic)) {
new com.aspose.barcode.License().setLicense(in); // ライセンス認証
} catch (Exception e) {
throw new DocumentProcessorFatalException(e);
}
-
以前のライセンスとの比較: 以前使用していたライセンスファイルと新しいライセンスファイルを比較し、内容に違いがないか確認してください。特に、ライセンスの有効期限や製品名が正しいかを確認することが重要です。
これらの確認を行った後も問題が解決しない場合は、Asposeのサポートに連絡して、ライセンスファイルの再発行を依頼することをお勧めします。
ライセンス認証ですが、以下5つの認証を行っています。
try (InputStream in = new ByteArrayInputStream(lic)) {
new com.aspose.words.License().setLicense(in); // ライセンス認証
} catch (Exception e) { // SUPPRESS IllegalCatchCheck
throw new DocumentProcessorFatalException(e);
}
try (InputStream in = new ByteArrayInputStream(lic)) {
new com.aspose.cells.License().setLicense(in); // ライセンス認証
} catch (Exception e) { // SUPPRESS IllegalCatchCheck
throw new DocumentProcessorFatalException(e);
}
try (InputStream in = new ByteArrayInputStream(lic)) {
new com.aspose.slides.License().setLicense(in); // ライセンス認証
} catch (Exception e) { // SUPPRESS IllegalCatchCheck
throw new DocumentProcessorFatalException(e);
}
try (InputStream in = new ByteArrayInputStream(lic)) {
new com.aspose.pdf.License().setLicense(in); // ライセンス認証
} catch (Exception e) { // SUPPRESS IllegalCatchCheck
throw new DocumentProcessorFatalException(e);
}
try (InputStream in = new ByteArrayInputStream(lic)) {
new com.aspose.barcode.License().setLicense(in); // ライセンス認証
} catch (Exception e) { // SUPPRESS IllegalCatchCheck
throw new DocumentProcessorFatalException(e);
}
この中で、barcodeのライセンス認証だけエラーとなります。
new com.aspose.barcode.License().setLicense(in);
いかがでしょうか?
@KazukiEndou,
新しいライセンスで、Aspose.BarCode for Java API の古いバージョンを使用していますか。現在使用している Aspose.BarCode のバージョンを教えていただけますか。ライセンス メカニズムが改善されました。新しいライセンスは SHA256 で署名されていますが、古いライセンスは SHA1 で署名されています。残念ながら、SHA256 ライセンスは古い API バージョン (通常、2 ~ 3 年以上前のバージョン) では使用できません。
この問題に対処するには、古いライセンスを古い API バージョンで使用し、新しいライセンスを新しい API バージョンで引き続き使用できます。このアプローチは常にシームレスに機能します。または、Aspose.Purchase セクションまたは Sales カテゴリから SHA1 でエンコードされたライセンス (無料) を要求するオプションがあります。この SHA1 ライセンスは、Aspose (.NET) API の古いバージョンと新しいバージョンの両方と互換性があります。
上記のいずれにも該当しない場合は、問題を評価するためにライセンス ファイルが必要になります。ガイドラインに従ってライセンス ファイルを投稿してください。すぐに問題を確認します。
https://forum.aspose.com/t/how-to-send-license-file-to-support-team/225542
@amjad.sahi
バージョンはそれぞれ以下を使用しています。()内がバージョンです。
aspose.words(22.5)
aspose.cells(22.12)
aspose.slides(21.12)
aspose.pdf(21.12)
aspose.barcode(21.12)
aspose.barcodeを、23.6までバージョンアップすると、
エラーは出なくなりました。
aspose.cellsと、slides、pdfは、21.12ですが、エラーが出ません。
aspose.barcodeだけ、ライセンス認証方法が違うのでしょうか?
@KazukiEndou,
すでにお伝えしたように、ライセンス メカニズムはしばらく前に強化されました。新しいライセンスは SHA256 で署名され、古いライセンスは SHA1 で署名されました。Aspose.BarCode for Java ライセンスのアクティベーションは、バージョン 22.x 以降などの新しいバージョンで変更されています。Aspose では、ライセンス検証のセキュリティ チェックが強化されていることに注意してください。ライセンスのアクティベーションと検証のモジュールは、ライセンスのアクティベーション モジュールと検証モジュールは、Aspose.BarCode API に埋め込まれる前は、Aspose.Slides と Aspose.PDF に埋め込まれていたようです。
@amjad.sahi
了解しました。
ありがとうございました。
@KazukiEndou,
どういたしまして。さらにご質問やご意見がございましたら、お気軽にご連絡ください。