0

私はアプリケーション (C#) を持っており、単純なライセンス スキームをアプリケーションに組み込むことを任されています。それをしている間、その情報をコンピューターのどこかに保存して、使用を制限する必要があります。

日付とカウンターを保存する必要があります。

Windows Vista では管理者権限を必要としない情報をどこにどのように保存すればよいですか? (つまり、System32、Program Files、HKEY_LOCAL_MACHINE に保存することはできません。)

「やらない」とか「とにかくクラックされる」という回答を殺到しないでください。私はそれらの論理を理解しています。この目的のためにできる限りのことをする必要があります。

4

3 に答える 3

4

XHEOなどのサードパーティ ライセンス コンポーネントの使用を検討してください。一からやり直す必要はありません。

それでも独自のライセンス システムを作成する必要がある場合は、ユーザーのプロファイル ディレクトリまたはHKEY_CURRENT_USERブランチの使用を検討してください。

于 2009-05-16T08:03:58.860 に答える
4

署名付きの 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 から簡単にアクセスしたりできます。(適切な更新/アップグレード システムがあります) .. アップグレードは簡単です。古いライセンスを取得し、検証後、既に購入したものに基づいてアップグレード価格を提示するサービスがあります。次に、コマース システムは参照用に古いライセンス ファイルと新しいライセンス ファイルをログに記録します。

嫌いなもの...

.. 簡単にコピー、盗まれる可能性がある

于 2009-05-16T15:33:09.577 に答える
0

企業の場合、常に app_root/LICENSE ディレクトリを使用します。

独自のカスタム ソリューションも使用していますが、このデータを暗号化し、ライセンス ログの操作を検証するのはかなり簡単です。

于 2009-05-16T10:20:37.410 に答える