<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Add-On license handling in Archicad C++ API</title>
    <link>https://community.graphisoft.com/t5/Archicad-C-API/Add-On-license-handling/m-p/573963#M8819</link>
    <description>&lt;P&gt;Hey Joel,&lt;/P&gt;&lt;P&gt;Alright was not aware an Add-On shop was on the roadmap, that's great! Login system would be cool especially if you have multiple Add-Ons.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 03 Nov 2023 16:01:49 GMT</pubDate>
    <dc:creator>BenjiDev</dc:creator>
    <dc:date>2023-11-03T16:01:49Z</dc:date>
    <item>
      <title>Add-On license handling</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Add-On-license-handling/m-p/573765#M8813</link>
      <description>&lt;P&gt;Lets say you have coded an Add-On that you want to sell. In that case you probably need some licensing solution. Does GRAPHISOFT provide any help with this? For example some way to associate your Add-On license with an Archicad license.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;One idea that does not involve GRAPHISOFT is having a custom license server that generates license keys for the specific Add-On. When the Add-On is opened the user enters the Add-On license key which is sent (along with some kind of user id provided by the C++ API) back to the license server for validation. The user id could be the serial number of the Archicad license "ACAPI_Licensing_GetSerialNumber", but I am not sure if it is OK to send it to a third-party.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Anyway, does GRAPHISOFT provide any ready-made solution for this? How does paid Add-Ons typically handle it?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 17 Sep 2024 11:21:09 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Add-On-license-handling/m-p/573765#M8813</guid>
      <dc:creator>BenjiDev</dc:creator>
      <dc:date>2024-09-17T11:21:09Z</dc:date>
    </item>
    <item>
      <title>Re: Add-On license handling</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Add-On-license-handling/m-p/573929#M8817</link>
      <description>&lt;P&gt;this is a great question. two things to consider:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1.&amp;nbsp;&amp;nbsp;there is a add-on shop on the roadmap. we as developer can hope that there will be some form of payment and licensing.&amp;nbsp; but we will see&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2. the technical implemention of a license handling is a challenge, of course &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; one developer implemented a very cool system with the serial number. he might will comment on that.&lt;/P&gt;
&lt;P&gt;for my plugin, if i decide to go further with it, i will implement a login functionallity in the Plugin itself and a Webpage where you can manage your subscription. Like BIM-Collab.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Nov 2023 10:36:50 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Add-On-license-handling/m-p/573929#M8817</guid>
      <dc:creator>Joel Buehler</dc:creator>
      <dc:date>2023-11-03T10:36:50Z</dc:date>
    </item>
    <item>
      <title>Re: Add-On license handling</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Add-On-license-handling/m-p/573963#M8819</link>
      <description>&lt;P&gt;Hey Joel,&lt;/P&gt;&lt;P&gt;Alright was not aware an Add-On shop was on the roadmap, that's great! Login system would be cool especially if you have multiple Add-Ons.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Nov 2023 16:01:49 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Add-On-license-handling/m-p/573963#M8819</guid>
      <dc:creator>BenjiDev</dc:creator>
      <dc:date>2023-11-03T16:01:49Z</dc:date>
    </item>
    <item>
      <title>Re: Add-On license handling</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Add-On-license-handling/m-p/574030#M8822</link>
      <description>&lt;P&gt;Hi Benji, Hi Joel,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://community.graphisoft.com/t5/user/viewprofilepage/user-id/46313"&gt;@Joel Buehler&lt;/a&gt;&amp;nbsp;wrote:
&lt;P&gt;2. the technical implemention of a license handling is a challenge, of course &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; one developer implemented a very cool system with the serial number. he might will comment on that&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I'm doing it like that, so maybe you were referring to me &lt;span class="lia-unicode-emoji" title=":grinning_face_with_sweat:"&gt;😅&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A rough sketch of how I do it:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Write a "license message" with all the information I want (e.g. Key-ID, nr. Seats, time limit etc.)&lt;/LI&gt;
&lt;LI&gt;Sign the license message with a private key and write both message and it's signature into a file&lt;/LI&gt;
&lt;LI&gt;User copies the file next to Add-On installation&lt;/LI&gt;
&lt;LI&gt;Add-On checks for file and reads message + signature&lt;/LI&gt;
&lt;LI&gt;Compare signature of message with public key. The public key can be embedded in the Add-On&lt;/LI&gt;
&lt;LI&gt;Compare message content with info from running AC instance&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;For signing and validating the signature I'm using cryptopp.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Unfortunately there are a lot of different scenarios for users, especially with software keys. E.g. they have multiple software keys with different IDs or they have one Software Key-ID with multiple seats etc. And also mixing hardware keys and software keys.&lt;BR /&gt;&lt;BR /&gt;I think dealing with the key-id of customers is "safe", since the key-id alone doesn't give you anything. It's just there to identify the key as far as I know. You'll always need either a hardware dongle or a software key itself to be able to use the key.&lt;/P&gt;
&lt;P&gt;You could still always send an encrypted version of the key-id to be safer.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hope that helps,&lt;BR /&gt;Bernd&lt;/P&gt;</description>
      <pubDate>Sat, 04 Nov 2023 14:22:59 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Add-On-license-handling/m-p/574030#M8822</guid>
      <dc:creator>BerndSchwarzenbacher</dc:creator>
      <dc:date>2023-11-04T14:22:59Z</dc:date>
    </item>
    <item>
      <title>Re: Add-On license handling</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Add-On-license-handling/m-p/574049#M8825</link>
      <description>&lt;P&gt;Hey Bernd,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for the overview.&lt;/P&gt;&lt;P&gt;That is quite nice, no need to ask a server to authorize the user with your scheme.&lt;/P&gt;&lt;P&gt;/Benji&lt;/P&gt;</description>
      <pubDate>Sat, 04 Nov 2023 14:23:44 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Add-On-license-handling/m-p/574049#M8825</guid>
      <dc:creator>BenjiDev</dc:creator>
      <dc:date>2023-11-04T14:23:44Z</dc:date>
    </item>
  </channel>
</rss>

