私は、製品のライセンスを受けている会社の名前、バージョン、およびいくつかの追加情報を記述したXMLファイルを持っています。この方法でライセンスを確認できますか?
私は、私は、アプリケーション内の公開鍵を出荷し、それらを確認するために、ファイルを読み込む秘密鍵を使用して、この金融商品取引法に署名し、
<Licence>
<Name>sdfsdf</Name>
<Version>1.2.1.1</Version>
<NumberOfServer>4</NumberOfServer>
<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>M368eFB9ydifttSxX26sB6XiPV4=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>TTYP6d+zESn6/2PtL5ikN+7E9u8Njm32vYVyVANC5U0EGLBwS//3yPjUoBx3glJXHClzPQBQEUi0LJNauTFvo1IBYwLjAuaYGtleti4IXpjrQCVaIudETSv5Z7oB8+C/+nsqsC26fXf9vWxvaKXJJzcep88r0wIfVe31HSd18FU=</SignatureValue>
</Signature>
</Licence>
を取得し、この
<Licence>
<Name>sdfsdf</Name>
<Version>1.2.1.1</Version>
<NumberOfServer>4</NumberOfServer>
</Licence>
のようなものを探しライセンスキーとしての正しいバージョンと "NumberOfServers"があること。
このアプローチの弱点は何ですか?
おかげ
うーん... OK ...しかし、あなたはどういうわけか、これを "疑い"なければなりませんか?あなたは本当にライセンスが実際に何のバージョンなどを実行時に把握することができますか?実行時に同じ入力を持っているときと同じ値であることを確認するだけです。 私があなたを理解していれば、私はそれが本当に私がしたいことだとは思わない。 – Riri
私はまだキーペアを使用してデータに署名していますが、XMLファイル自体に署名するのではなく、私自身の方法でデータのハッシュに署名します。次に、Base64などで難読化し、1つのタグに書き出します。未処理のデータ(Customer Number、Versionなど)はXMLファイルに残っていますが、XMLファイル自体の構造を確認するだけでは検証できません(SignedXmlクラス)。 –
ああ私は見る!それは良いアイデアです。 – Riri