署名付きの XML ライセンス ファイルを使用します。これは単純な XML ファイルで、ユーザーが購入したものを表示します。
これの良いところは、将来の互換性があることです。製品機能、または製品ライン、有効期限、および機能属性を簡単に追加できます。
当社のコマース サイトでは、必要に応じてライセンスを簡単に作成およびパッケージ化できますが、秘密鍵が流出しないように注意してください。ここでは長所が短所を上回っており、回避できない最大の問題は、単にライセンス ファイルを処理することです。
ここにサンプルのxmlファイルがあります
<?xml version="1.0" encoding="utf-8"?>
<ProductName>
<License>
<LicenseId>20025fb9-5349-46d4-a530-55b0295beaaa</LicenseId>
<CustomerName>Scott.Cate@Example.com</CustomerName>
<MajorVersion>2008</MajorVersion>
<Product>Friendly Display Name</Product>
<ProductType>Enterprise</ProductType>
<Features>
<!--Add features here-->
</Features>
<Expires>0001-01-01T00:00:00</Expires>
</License>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>u3{..........}U2jo=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>QFg1kI{...............}DwDIE=</SignatureValue>
</Signature>
</ProductName>
また、単純な .NET 組み込み API を使用して XML 署名を行い、XML が署名済みで有効であることを確認します。
好きなもの ...
..読みやすいです。(技術サポート用) .. 交換が簡単です.. ファイル システム、またはこの場合はデータベースに簡単に保存できるため、UI に簡単にアクセスしたり、UI から簡単にアクセスしたりできます。(適切な更新/アップグレード システムがあります) .. アップグレードは簡単です。古いライセンスを取得し、検証後、既に購入したものに基づいてアップグレード価格を提示するサービスがあります。次に、コマース システムは参照用に古いライセンス ファイルと新しいライセンス ファイルをログに記録します。
嫌いなもの...
.. 簡単にコピー、盗まれる可能性がある