I'm currently involved in developing a product (developed in C#) that'll be available for downloading and installing for free but in a very limited version. To get access to all the features the user has to pay a license fee and receive a key. That key will then be entered into the application to 'unlock' the full version.
Then you just verify it within your program. One way to distribute the license file (on windows) is to provide it as a file which updates the registry (saves the user having to type it). Beware of false sense of security though - sooner or later someone will simply patch your program to skip that check, and distribute the patched version.
As using a license key like that is kind of usual I'm wondering :
I guess I should also tie the key to the version of application somehow so it'll be possible to charge for new keys in feature versions.
Anything else I should think about in this scenario?
Robert Harvey♦
151k3636 gold badges288288 silver badges425425 bronze badges
RiriRiri
5,7411212 gold badges5454 silver badges7878 bronze badges
15 Answers
Caveat: you can't prevent users from pirating, but only make it easier for honest users to do the right thing.
Assuming you don't want to do a special build for each user, then:
But, I repeat: this won't prevent piracy
I have recently read that this approach is not cryptographically very sound. But this solution is already weak (as the software itself has to include the secret key somewhere), so I don't think this discovery invalidates the solution as far as it goes.
Just thought I really ought to mention this, though; if you're planning to derive something else from this, beware.
Steven A. Lowe
54.3k1616 gold badges122122 silver badges198198 bronze badges
Brent.LongboroughBrent.Longborough
6,80477 gold badges3535 silver badges5757 bronze badges
There are many ways to generate license keys, but very few of those ways are truly secure. And it's a pity, because for companies, license keys have almost the same value as real cash.
Ideally, you would want your license keys to have the following properties:
So how do you solve these challenges ?
34.3k1414 gold badges7979 silver badges109109 bronze badges
Catalin S.Catalin S.
Simple answer - No matter what scheme you use it can be cracked.
Don't punish honest customers with a system meant to prevent hackers, as hackers will crack it regardless.
A simple hashed code tied to their email or similar is probably good enough. Hardware based IDs always become an issue when people need to reinstall or update hardware.
Good thread on the issue:http://discuss.joelonsoftware.com/default.asp?biz.5.82298.34
palerdot
4,33011 gold badge3030 silver badges3838 bronze badges
schoonerschooner
2,12688 gold badges2525 silver badges3737 bronze badges
When generating the key, don't forget to concatenate the version and build number to the string you calculate the hash on. That way there won't be a single key that unlocks all everything you ever released.
After you find some keys or patches floating in astalavista.box.sk you'll know that you succeeded in making something popular enough that somebody bothered to crack. Rejoice!
shooshshoosh
49.9k4545 gold badges183183 silver badges297297 bronze badges
Besides what has already been stated....
Any use of .NET applications are inherently breakable because of the intermediate language issues. A simple disassembly of the .NET code will open your product to anyone. They can easily bypass your licensing code at that point.
You can't even use hardware values to create a key anymore. Virtual machines now allow someone to create an image of a 'licensed' machine and run it on any platform they choose.
If it's expensive software there are other solutions. If it's not, just make it difficult enough for the casual hacker. And accept the fact that there will be unlicensed copies out there eventually.
If your product is complicated, the inherent support issues will be create some protection for you.
Brant Herrett
The C# / .NET engine we use for licence key generation is now maintained as open source:
https://github.com/appsoftware/.NET-Licence-Key-Generator.
It's based on a 'Partial Key Verification' system which means only a subset of the key that you use to generate the key has to be compiled into your distributable. You create the keys your self, so the licence implementation is unique to your software.
As stated above, if your code can be decompiled, it's relatively easy to circumvent most licencing systems.
gb2dgb2d
3,45277 gold badges4242 silver badges8585 bronze badges
I've used Crypkey in the past. It's one of many available.
You can only protect software up to a point with any licensing scheme.
Mitch WheatMitch Wheat
260k3636 gold badges411411 silver badges503503 bronze badges
I don't know how elaborate you want to get
but i believe that .net can access the hard drive serial number.
you could have the program send you that and something eles ( like user name and mac address of the nic)
you compute a code based off that and email them back the key.
they will keep them from switching machines after they have the key.
Crash893Crash893
4,9191919 gold badges7878 silver badges116116 bronze badges
The only way to do everything you asked for is to require an internet access and verification with a server. The application needs to sign in to the server with the key, and then you need to store the session details, like the IP address. This will prevent the key from being used on several different machines. This is usually not very popular with the users of the application, and unless this is a very expensive and complicated application it's not worth it.
You could just have a license key for the application, and then check client side if the key is good, but it is easy to distribute this key to other users, and with a decompiler new keys can be generated.
MariusMarius
43.5k2525 gold badges115115 silver badges139139 bronze badges
I've implemented internet-based one-time activation on my company's software (C# .net) that requires a license key that refers to a license stored in the server's database. The software hits the server with the key and is given license information that is then encrypted locally using an RSA key generated from some variables (a combination of CPUID and other stuff that won't change often) on the client computer and then stores it in the registry.
It requires some server-side coding, but it has worked really well for us and I was able to use the same system when we expanded to browser-based software. It also gives your sales people great info about who, where and when the software is being used. Any licensing system that is only handled locally is fully vulnerable to exploitation, especially with reflection in .NET. But, like everyone else has said, no system is wholly secure.
In my opinion, if you aren't using web-based licensing, there's no real point to protecting the software at all. With the headache that DRM can cause, it's not fair to the users who have actually paid for it to suffer.
jugg1esjugg1es
I'm one of the developers behind the Cryptolens software licensing platform and have been working on licensing systems since the age of 14. In this answer, I have included some tips based on experience acquired over the years.
The best way of solving this is by setting up a license key server that each instance of the application will call in order to verify a license key.
Benefits of a license key server
The advantages with a license key server is that:
Considerations
Although verifying licenses online gives you more control over each instance of the application, internet connection is not always present (especially if you target larger enterprises), so we need another way of performing the license key verification.
The solution is to always sign the license key response from the server using a public-key cryptosystem such as RSA or ECC (possibly better if you plan to run on embedded systems). Your application should only have the public key to verify the license key response.
So in case there's no internet connection, you can use the previous license key response instead. Make sure to store both the date and the machine identifier in the response and check that it's not too old (eg. you allow users to be offline at most 30 days, etc) and that the license key response belongs to the correct device.
Note you should always check the certificate of license key response, even if you are connected to the internet), in order to ensure that it has not been changed since it left the server (this still has to be done even if your API to the license key server uses https)
Protecting secret algorithms
Most .NET applications can be reverse engineered quite easily (there is both a diassembler provided by Microsoft to get the IL code and some commercial products can even retrieve the source code in eg. C#). Of course, you can always obfuscate the code, but it's never 100% secure.
I most cases, the purpose of any software licensing solution is to help honest people being honest (i.e. that honest users who are willing to pay don't forget to pay after a trial expires, etc).
However, you may still have some code that you by no means want to leak out to the public (eg. an algorithm to predict stock prices, etc). In this case, the only way to go is to create an API endpoint that your application will call each time the method should be executed. It requires internet connection but it ensures that your secret code is never executed by the client machine.
Implementation
If you don't want to implement everything yourself, I would recommend to take a look at this tutorial (part of Cryptolens)
ArtemArtem
I strongly believe, that only public key cryptography based licensing system is the right approach here, because you don't have to include essential information required for license generation into your sourcecode.
In the past, I've used Treek's Licensing Library many times, because it fullfills this requirements and offers really good price. It uses the same license protection for end users and itself and noone cracked that until now. You can also find good tips on the website to avoid piracy and cracking.
panpernicekpanpernicek
Like a few others mentioned, I'm a huge opponent of being hostile to customers by default—something that the licensing industry is notorious for. So I'll expand on a good solution for your problem that also offers a good customer UX.
To start off, you mentioned that you have a 'limited' version of your software that you're using to try and convert customers to 'upgrade' for additional features. So what you're looking for are feature licenses for your product e.g. a customer can purchase a license for feature-X or feature-Y.
I built Keygen with this type of licensing in mind. Keygen is a licensing REST API that allows you to manage user accounts, licenses and also track machine usage/associations.
What I would do is set up 2 license types (a policy within Keygen) where one is a base policy for the limited free version, and the other is a policy for the paid version.
I'm not sure what you're using for payments, but let's assume you're using something like Stripe (pretty standard nowadays) that offers webhooks. Keygen also has webhooks (whether you use it or not, all this is still applicable). You can integrate Keygen to talk with your payment provider using webhooks from both sides (think:
customer.created ->create base license for customer, license.created ->charge customer for the new license).
So by utilizing webhooks, we can automate license creation for new customers. So what about license validation within the application itself? This can be done in a variety of ways, but the most popular way is by requiring your customer to enter a long license key into an input field which you can then validate; I think this is a terrible way to handle license validation in your application.
Why do I think that? Well first off, you're requiring your customer to input a tediously long license key that is meant for machine consumption, and second your requiring you and your customer to keep track of said tediously long license key.
Okay, so what's an alternative? I think the best alternative is doing something all of your customers are used to: allowing them to create an account for your product using an email/password. You can then associate all of their licenses and their machines with that account. So now instead of inputting a license key, they can simply log in using their credentials.
What advantage does that give you? Firstly, it gets rid of the need for you and your customers to keep track of license keys, since it's all handled behind-the-scenes inside of their user account and most importantly: you can now offer your customers self-serve license and machine activation! i.e. since all of their licenses and machines are associated with their user account, you can prompt them to purchase a license when they fire up your application on an unrecognized machine.
Now onto license validation: whenever your customer logs into your application with their email/password, you can query their user account for the licenses they own to determine if they can use feature-X or feature-Y. And since your application is now self-serve, you can allow your customers to purchase additional features directly from within your application!
So we've introduced a ton of automation to our licensing system, we can license individual features (i.e. a limited vs. full version), we've offered an awesome UX for our customers and we've also alleviated one of the biggest reasons for support requests: license key recovery.
Anyways, this got long but hopefully it helps somebody!
ezekgezekg
It is not possible to prevent software piracy completely. You can prevent casual piracy and that's what all licensing solutions out their do.
Node (machine) locked licensing is best if you want to prevent reuse of license keys. I have been using Cryptlex for about a year now for my software. It has a free plan also, so if you don't expect too many customers you can use it for free.
adnan kamiliadnan kamili
4,51344 gold badges3939 silver badges7575 bronze badges
You can use a free third party solution to handle this for you such as Quantum-Key.Net It's free and handles payments via paypal through a web sales page it creates for you, key issuing via email and locks key use to a specific computer to prevent piracy.
Your should also take care to obfuscate/encrypt your code or it can easily be reverse engineered using software such as De4dot and .NetReflector. A good free code obfuscator is ConfuserEx wich is fast and simple to use and more effective than expensive alternatives.
You should run your finished software through De4Dot and .NetReflector to reverse-engineer it and see what a cracker would see if they did the same thing and to make sure you have not left any important code exposed or undisguised.
Your software will still be crackable but for the casual cracker it may well be enough to put them off and these simple steps will also prevent your code being extracted and re-used.
DamoDamo
protected by Community♦May 5 '13 at 13:48
Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead? Not the answer you're looking for? Browse other questions tagged c#license-key or ask your own question.
Find out the mailing status of your driver's license, ID card, registration, license plate, title, or handicap placard.
AlabamaHandicap Placard
Department of Revenue
Phone:
Contact your local County Licensing Office
E-mail:
Driver's License and ID Card
Department of Public Safety
Phone:
(334) 517-2800
E-mail:
Registration and License Plate
Department of Revenue
Phone:
(334) 242-9006
E-mail:
TitleDepartment of Revenue
Online:
Phone:
(334) 242-9000
E-mail:
AlaskaHandicap Placard
Division of Motor Vehicles
Phone:
Toll-Free in Alaska: (855) 269-5551
Outside of Alaska: (907) 269-5551
E-mail:
Driver's License and ID Card
Division of Motor Vehicles
Online:
Phone:
Toll-Free in Alaska: (855) 269-5551
Outside of Alaska: (907) 269-5551
E-mail:
Registration and License Plate
Division of Motor Vehicles
Phone:
Toll-Free in Alaska: (855) 269-5551
Outside of Alaska (907) 269-5551
E-mail:
Title
Division of Motor Vehicles
Phone:
Toll-Free in Alaska: (855) 269-5551
Outside of Alaska (907) 269-5551
E-mail:
ArizonaHandicap Placard
Motor Vehicle Division
Phone:
Phoenix: (602) 255-0072
Tuscon: (520) 629-9808 Elsewhere in AZ: (800) 251-5866 Phoenix TDD: (602) 712-3222 Elsewhere in AZ TDD: (800) 324-5425
E-mail:
Driver's License and ID Card
Motor Vehicle Division
Phone:
Phoenix: (602) 255-0072
Tuscon: (520) 629-9808 Elsewhere in AZ: (800) 251-5866 Phoenix TDD: (602) 712-3222 Elsewhere in AZ TDD: (800) 324-5425
E-mail:
Registration and License Plate
Motor Vehicle Division
Phone:
Phoenix: (602) 255-0072
Tuscon: (520) 629-9808 Elsewhere in AZ: (800) 251-5866 Phoenix TDD: (602) 712-3222 Elsewhere in AZ TDD: (800) 324-5425
E-mail:
Title
Motor Vehicle Division
Phone:
Phoenix: (602) 255-0072
Tuscon: (520) 629-9808 Elsewhere in AZ: (800) 251-5866 Phoenix TDD: (602) 712-3222 Elsewhere in AZ TDD: (800) 324-5425
E-mail:
ArkansasHandicap Placard
Office of Motor Vehicle
Phone:
(501) 682-4692
E-mail:
Driver's License and ID Card
Driver Services
Phone:
(501) 371-5581
E-mail:
Registration and License Plate
Office of Motor Vehicle
Phone:
(501) 682-4692
E-mail:
Title
Office of Motor Vehicle
Phone:
(501) 682-4692
E-mail:
CaliforniaHandicap Placard
Department of Motor Vehicles
Phone:
(800) 777-0133
Hearing Impaired:
TTY (800) 368-4327
Driver's License and ID Card
Department of Motor Vehicles
Phone:
(800) 777-0133
Hearing Impaired:
TTY (800) 368-4327
Registration and License Plate
Department of Motor Vehicles
Phone:
(800) 777-0133
Hearing Impaired:
TTY (800) 368-4327
Title
Department of Motor Vehicles
Phone:
(800) 777-0133
Hearing Impaired:
TTY (800) 368-4327
ColoradoHandicap Placard
Division of Motor Vehicles
Phone:
(303) 205-5608
E-mail:
Driver's License and ID Card
Division of Motor Vehicles
Phone:
(303) 205-5600
E-mail:
Registration and License Plate
Division of Motor Vehicles
Phone:
(303) 205-5608
E-mail:
Title
Division of Motor Vehicles
Phone:
(303) 205-5608
E-mail:
ConnecticutHandicap Placard
Department of Motor Vehicles
Phone:
(860) 263-5700 (Within Hartford area or outside of Connecticut)
(800) 842-8222 (Elsewhere in Connecticut)
E-mail:
Driver's License and ID Card
Department of Motor Vehicles
Phone:
(860) 263-5700 (Within Hartford area or outside of Connecticut)
(800) 842-8222 (Elsewhere in Connecticut)
E-mail:
Registration and License Plate
Department of Motor Vehicles
Phone:
(860) 263-5700 (Within Hartford area or outside of Connecticut)
(800) 842-8222 (Elsewhere in Connecticut)
E-mail:
Online:
Title
Department of Motor Vehicles
Phone:
(860) 263-5700 (Within Hartford area or outside of Connecticut)
(800) 842-8222 (Elsewhere in Connecticut)
E-mail:
DelawareHandicap Placard
Division of Motor Vehicles
Phone:
Delaware City: (302) 326-5000
Greater Wilmington: (302) 434-3200 Dover: (302) 744-2500 Georgetown: (302) 853-1000
E-mail or Live Chat:
Driver's License and ID Card
Division of Motor Vehicles
Phone:
Delaware City: (302) 326-5000
Greater Wilmington: (302) 434-3200 Dover: (302) 744-2500 Georgetown: (302) 853-1000
E-mail or Live Chat:
Registration and License Plate
Division of Motor Vehicles
Phone:
Delaware City: (302) 326-5000
Greater Wilmington: (302) 434-3200 Dover: (302) 744-2500 Georgetown: (302) 853-1000
E-mail or Live Chat:
Title
Division of Motor Vehicles
Phone:
Delaware City: (302) 326-5000
Greater Wilmington: (302) 434-3200 Dover: (302) 744-2500 Georgetown: (302) 853-1000
E-mail or Live Chat:
FloridaHandicap Placard
Department of Highway Safety and Motor Vehicles
Online:
Phone:
(850) 617-2000
Driver's License and ID Card
Department of Highway Safety and Motor Vehicles
Phone:
(850) 617-2000
Online:
Registration and License Plate
Department of Highway Safety and Motor Vehicles
Phone:
(850) 617-2000
Online:
Title
Department of Highway Safety and Motor Vehicles
Phone:
(850) 617-2000
Online:
GeorgiaHandicap Placard
Phone:
Driver's License and ID Card
Department of Driver Services
Phone:
(404) 657-9300 (Driver's license status 24/7)
(678) 413-8400 (678) 413-8500 (678) 413-8600
E-mail:
Live Chat:
Registration and License Plate
Phone:
Title
Motor Vehicle Division
Phone:
(855) 406-5221
E-mail:
[email protected]
Include your name, VIN and tag number HawaiiHandicap Placard
Hawaii County:
Phone numbers differ by region: http://www.hawaiicounty.gov/finance-vrl/
E-mail: [email protected]
Honolulu County:
(808) 768-9100
Maui County:
(808) 270-7363
E-mail: http://www.mauicounty.gov/Directory.aspx?did=22
Kauai County:
(808) 241-4242
Driver's License and ID Card
Hawaii County:
Phone numbers differ by region: http://www.hawaiicounty.gov/finance-vrl/
E-mail: [email protected]
Honolulu County:
(808) 768-9100
Maui County:
(808) 270-7363
E-mail: http://www.mauicounty.gov/Directory.aspx?did=22
Kauai County:
(808) 241-4242
Registration and License Plate
Hawaii County:
Phone numbers differ by region: http://www.hawaiicounty.gov/finance-vrl/
E-mail: [email protected]
Honolulu County:
(808) 768-9100
Maui County:
(808) 270-7363
E-mail: http://www.mauicounty.gov/Directory.aspx?did=22
Kauai County:
(808) 241-4242
Title
Hawaii County:
Phone numbers differ by region: http://www.hawaiicounty.gov/finance-vrl/
E-mail: [email protected]
Honolulu County:
(808) 768-9100
Online: http://www12.honolulu.gov/mvrtitleinq/
Maui County:
(808) 270-7363
E-mail: http://www.mauicounty.gov/Directory.aspx?did=22
Kauai County:
(808) 241-4242
IdahoHandicap Placard
Transportation Department
Phone:
(208) 334 -8655
E-mail:
Driver's License and ID Card![]()
Transportation Department
Phone:
(208) 334-8736
E-mail:
Registration and License Plate
Transportation Department
Phone:
(208) 334-8736
E-mail:
Online:
Title
Transportation Department
Phone:
(208) 334-8736
E-mail:
Online:
IllinoisHandicap Placard
Secretary of State Vehicle Services Department
Phone:
Toll-free in IL: (800) 252-8980 Chicago office: (312) 793-1010 TTY: (888) 261-7864
E-mail:
Driver's License and ID Card
Secretary of State Driver Services Department
Online:
E-mail:
Phone:
Toll-free in IL: (800) 252-8980
Chicago office: (312) 814-2975 TTY: (888) 261-5238 Registration and License Plate
Secretary of State Vehicle Services Department
Online:
E-mail:
Phone:
Toll-free in IL: (800) 252-8980
Chicago office: (312) 793-1010 TTY: (888) 261-7864 Title
Secretary of State Vehicle Services Department
E-mail:
Online:
Phone:
Toll-free in IL: (800) 252-8980
Chicago office: (312) 793-1010 TTY: (888) 261-7864 IndianaHandicap Placard
Bureau of Motor Vehicles
E-mail:
Phone:
(888) 692-6841
Driver's License and ID Card
Bureau of Motor Vehicles
E-mail:
Phone:
(888) 692-6841
Registration and License Plate
Bureau of Motor Vehicles
E-mail:
Phone:
(888) 692-6841
Title
Bureau of Motor Vehicles
E-mail:
Online:
Phone:
(888) 692-6841
IowaHandicap Placard
Office of Vehicle Services
Phone:
(515) 237-3110
E-mail:
Chat:
Driver's License and ID Card
Driver & Identification Services
Phone:
(515) 244-8725
E-mail:
Chat:
Registration and License Plate
Office of Vehicle Services
Phone:
(515) 237-3110
E-mail:
Chat:
Title
Office of Vehicle Services
Phone:
(515) 237-3110
E-mail:
Chat:
KansasHandicap Placard
Contact your County Treasurer
Driver's License and ID Card
Department of Revenue
Phone:
(785) 296-3671
TTY: (785) 296-3613
Online:
Registration and License Plate
Department of Revenue
Phone:
(785) 296-3621
TTY: (785) 296-3613
E-mail:
Title
Department of Revenue
Phone:
(785) 296-3621
TTY: (785) 296-3613
E-mail:
KentuckyHandicap Placard
Contact your local County Clerk's Office
Driver's License and ID Card
Phone:
(502) 564-1257
E-mail:
Registration and License Plate
Phone:
(502) 564-1257
E-mail:
Title
Phone:
(502) 564-1257
E-mail:
LouisianaHandicap Placard
Office of Motor Vehicles
Phone:
(225) 925-6146
E-mail:
Driver's License and ID Card
Office of Motor Vehicles
Phone:
(225) 922-1175—Baton Rouge area
(225) 925-6146—Everywhere else
E-mail:
Registration and License Plate
Office of Motor Vehicles
Phone:
(225) 925-6146
E-mail:
Title
Office of Motor Vehicles
Phone:
(225) 925-6371
E-mail:
MaineHandicap Placard
Bureau of Motor Vehicles
Phone:
(207) 624-9000
TTY relay 711 Driver's License and ID Card
Bureau of Motor Vehicles
Phone:
(207) 624-9000
TTY relay 711 Registration and License Plate
Bureau of Motor Vehicles
Phone:
(207) 624-9000
TTY relay 711 Title
Bureau of Motor Vehicles
Phone:
(207) 624-9000
TTY relay 711 MarylandHandicap Placard
Motor Vehicle Administration
Phone:
(410) 768-7000
TTY: (800) 492-4575
E-mail:
Driver's License and ID Card
Motor Vehicle Administration
Online:
Phone:
(410) 768-7000
TTY: (800) 492-4575
E-mail:
Registration and License Plate
Motor Vehicle Administration
Online:
Phone:
(410) 768-7000
TTY: (800) 492-4575
E-mail:
Title
Motor Vehicle Administration
Online:
Phone:
(410) 768-7000
TTY: (800) 492-4575
E-mail:
MassachusettsHandicap Placard
Registry of Motor Vehicles
Phone:
(857) 368-8000 if you're out of state or have one of the following four area codes: 339/617/781/857.
(800) 858-3926 for all other Massachusetts area codes. (877) 768-8833 if you are deaf or hard of hearing.
Online:
E-mail:
Driver's License and ID Card
Registry of Motor Vehicles
Phone:
(857) 368-8000 if you're out of state or have one of the following four area codes: 339/617/781/857.
(800) 858-3926 for all other Massachusetts area codes. (877) 768-8833 if you are deaf or hard of hearing
E-mail:
Online:
Registration and License Plate
Registry of Motor Vehicles
Phone:
(857) 368-8000 if you're out of state or have one of the following four area codes: 339/617/781/857.
(800) 858-3926 for all other Massachusetts area codes. (877) 768-8833 if you are deaf or hard of hearing.
E-mail:
Online:
Title
Registry of Motor Vehicles
Phone:
(857) 368-8000 if you're out of state or have one of the following four area codes: 339/617/781/857.
(800) 858-3926 for all other Massachusetts area codes. (877) 768-8833 if you are deaf or hard of hearing.
E-mail:
Online:
MichiganHandicap Placard
Secretary of State
Phone:
(888) 767-6424
E-mail:
Driver's License and ID Card
Secretary of State
Phone:
(888) 767-6424
E-mail:
Registration and License Plate
Secretary of State
Phone:
(888) 767-6424
E-mail:
Title
Secretary of State
Phone:
(888) 767-6424
E-mail:
MinnesotaHandicap Placard
Driver and Vehicle Services
Phone:
(651) 297-2126
(651) 282-6555 TTLY
E-mail:
https://dps.mn.gov/divisions/dvs/contact/Pages/vehicle-services-contact-forms.aspx
Driver's License and ID Card
Driver and Vehicle Services
Phone:
(651) 297-3298
(651) 282-6555 TTLY
E-mail:
Online:
Registration and License Plate
Driver and Vehicle Services
Phone:
(651) 297-2126
(651) 282-6555 TTLY
E-mail:
https://dps.mn.gov/divisions/dvs/contact/Pages/vehicle-services-contact-forms.aspx
Online:
Title
Driver and Vehicle Services
Online:
Phone:
(651) 297-2126
(651) 282-6555 TTLY
E-mail:
MississippiHandicap Placard
Motor Vehicle Licensing Bureau
Phone:
(601) 923-7100
Driver's License and ID Card
Driver Service Bureau
Phone:
![]()
(601) 987-1212
Registration and License Plate
Motor Vehicle Licensing Bureau
Phone:
(601) 923-7100
Title
Motor Vehicle Licensing Bureau
Phone:
(601) 923-7640
MissouriHandicap Placard
Motor Vehicle Bureau
Phone:
(573) 526-3669
E-mail:
Driver's License and ID Card
Driver License Bureau
Phone:
(573) 526-2407
E-mail:
Registration and License Plate
Motor Vehicle Bureau
Phone:
(573) 526-3669
E-mail:
Title
Motor Vehicle Bureau
Phone:
(573) 526-3669
E-mail:
MontanaHandicap Placard
Motor Vehicle Division
Phone:
(406) 444-3661
E-mail:
Driver's License and ID Card
Motor Vehicle Division
Phone:
(406) 444-3933
E-mail:
Registration and License Plate
Motor Vehicle Division
Phone:
(406) 444-3661
E-mail:
Title
Motor Vehicle Division
Phone:
(406) 444-3661
E-mail:
NebraskaHandicap Placard
Department of Motor Vehicles
Phone:
(402) 471-3918
E-mail:
Driver's License and ID Card
Department of Motor Vehicles
Phone:
(402) 471-3918
E-mail:
Registration and License Plate
Department of Motor Vehicles
Phone:
(402) 471-3918
E-mail:
Title
Department of Motor Vehicles
Phone:
(402) 471-3918
E-mail:
NevadaHandicap Placard
Department of Motor Vehicles
Phone:
Las Vegas Area: (702) 486-4368
Reno/Sparks/Carson City: (775) 684-4368 Rural Nevada: (877) 368-7828 TDD (hearing impaired only): (775) 684-4904
E-mail:
Driver's License and ID Card
Department of Motor Vehicles
Phone:
Las Vegas Area: (702) 486-4368
Reno/Sparks/Carson City: (775) 684-4368 Rural Nevada: (877) 368-7828 TDD (hearing impaired only): (775) 684-4904
E-mail:
Registration and License Plate
Department of Motor Vehicles
Phone:
Las Vegas Area: (702) 486-4368
Reno/Sparks/Carson City: (775) 684-4368 Rural Nevada: (877) 368-7828 TDD (hearing impaired only): (775) 684-4904
E-mail:
Title
Department of Motor Vehicles
Phone:
Las Vegas Area: (702) 486-4368
Reno/Sparks/Carson City: (775) 684-4368 Rural Nevada: (877) 368-7828 TDD (hearing impaired only): (775) 684-4904
E-mail:
New HampshireHandicap Placard
Division of Motor Vehicles
Phone:
(603) 227-4030
TDD NH Relay 711
E-mail:
Driver's License and ID Card
Division of Motor Vehicles
Phone:
(603) 227-4020
TDD NH Relay 711
E-mail:
Registration and License Plate
Division of Motor Vehicles
Phone:
(603) 227-4030
TDD NH Relay 711
E-mail:
Title
Division of Motor Vehicles
Phone:
(603) 227-4150
TDD NH Relay 711
E-mail:
New JerseyHandicap Placard
Motor Vehicle Commission
Phone:
(609) 292-6500
TTY NJ Relay 711
E-mail:
Driver's License and ID Card
Motor Vehicle Commission
Phone:
(609) 292-6500
TTY NJ Relay 711
E-mail:
Registration and License Plate
Motor Vehicle Commission
Phone:
(609) 292-6500
TTY NJ Relay 711
E-mail:
Title
Motor Vehicle Commission
Phone:
(609) 292-6500
TTY NJ Relay 711
E-mail:
New MexicoHandicap Placard
Motor Vehicle Division
Phone:
(888) 683-4636
E-mail:
Driver's License and ID Card
Motor Vehicle Division
Phone:
(888) 683-4636
E-mail:
Online:
Registration and License Plate
Motor Vehicle Division
Phone:
(888) 683-4636
E-mail:
Title
Motor Vehicle Division
Phone:
(888) 683-4636
E-mail:
New YorkHandicap Placard
Department of Motor Vehicles
Phone:
General Telephone Assistance (DMV Call Centers): (518) 486-9786
Telecommunications Device for the Deaf (TDD): 711 or (800) 662-1220
Online:
Driver's License and ID Card
Department of Motor Vehicles
Phone:
General Telephone Assistance (DMV Call Centers): (518) 486-9786
Telecommunications Device for the Deaf (TDD): 711 or (800) 662-1220
Online:
Registration and License Plate
Department of Motor Vehicles
Phone:
General Telephone Assistance (DMV Call Centers): (518) 486-9786
Telecommunications Device for the Deaf (TDD): 711 or (800) 662-1220
Online:
Title
Department of Motor Vehicles
Phone:
General Telephone Assistance (DMV Call Centers): (518) 486-9786
Telecommunications Device for the Deaf (TDD): 711 or (800) 662-1220
Online:
North CarolinaHandicap Placard
Division of Motor Vehicles
Phone:
(919) 715-7000
E-mail:
Driver's License and ID Card
Division of Motor Vehicles
Phone:
(919) 715-7000
E-mail:
Online:
Registration and License Plate
Division of Motor Vehicles
Phone:
(919) 715-7000
E-mail:
Online:
Title
Division of Motor Vehicles
Phone:
(919) 715-7000
E-mail:
Online:
North DakotaHandicap Placard
Motor Vehicle Division
Phone:
(701) 328-2725
TTY 711 or (800) 366-6888
E-mail:
Driver's License and ID Card
Drivers License Division
Phone:
(701) 328-2600
TTY 711 or (800) 366-6888
E-mail:
Registration and License Plate
Motor Vehicle Division
Phone:
(701) 328-2725
TTY 711 or (800) 366-6888
E-mail:
Title
Motor Vehicle Division
Phone:
(701) 328-2725
TTY 711 or (800) 366-6888
E-mail:
OhioHandicap Placard
Bureau of Motor Vehicles
Phone:
(614) 752-7600
(800) 750-0750 TTY Relay
Live Chat or E-mail:
Driver's License and ID Card
Bureau of Motor Vehicles
Phone:
(614) 752-7600
(800) 750-0750 TTY Relay
Live Chat or E-mail:
Registration and License Plate
Bureau of Motor Vehicles
Phone:
(614) 752-7600
(800) 750-0750 TTY Relay
Live Chat or E-mail:
Title
Bureau of Motor Vehicles
Phone:
(614) 752-7600
(800) 750-0750 TTY Relay
Live Chat or E-mail:
OklahomaHandicap Placard
Department of Public Safety
Phone:
(405) 425-2693
Driver's License and ID Card
Department of Public Safety
Phone:
(405) 425-2300
Registration and License Plate
Motor Vehicle Division
Phone:
(405) 521-3160
E-mail:
Title
Motor Vehicle Division
Phone:
(405) 521-3221
E-mail:
OregonHandicap Placard
Driver and Motor Vehicle Services Division
Phone:
Bend: (541) 388-6322
Eugene: (541) 686-7855 Medford: (541) 776-6025 Portland Metro Area: (503) 299-9999 Roseburg: (541) 440-3395 Salem Metro Area: (503) 945-5000 TTY: 711
E-mail:
Driver's License and ID Card
Driver and Motor Vehicle Services Division
Phone:
Bend: (541) 388-6322
Eugene: (541) 686-7855 Medford: (541) 776-6025 Portland Metro Area: (503) 299-9999 Roseburg: (541) 440-3395 Salem Metro Area: (503) 945-5000 TTY: 711
E-mail:
Registration and License Plate
Driver and Motor Vehicle Services Division
Phone:
Bend: (541) 388-6322
Eugene: (541) 686-7855 Medford: (541) 776-6025 Portland Metro Area: (503) 299-9999 Roseburg: (541) 440-3395 Salem Metro Area: (503) 945-5000 TTY: 711
E-mail:
Title
Driver and Motor Vehicle Services Division
Phone:
Bend: (541) 388-6322
Eugene: (541) 686-7855 Medford: (541) 776-6025 Portland Metro Area: (503) 299-9999 Roseburg: (541) 440-3395 Salem Metro Area: (503) 945-5000 TTY: 711
E-mail:
PennsylvaniaHandicap Placard
Driver and Vehicle Services
Phone:
In-state: (717) 412-5300
Out-of-state: (717) 412-5300 Hearing impaired in-state: (800) 228-0676 Hearing impaired relay: 711
E-mail:
Driver's License and ID Card
Driver and Vehicle Services
Phone:
In-state: (717) 412-5300
Out-of-state: (717) 412-5300 Hearing impaired in-state: (800) 228-0676 Hearing impaired relay: 711
E-mail:
Registration and License Plate
Driver and Vehicle Services
Phone:
In-state: (717) 412-5300
Out-of-state: (717) 412-5300 Hearing impaired in-state: (800) 228-0676 Hearing impaired relay: 711
E-mail:
Title
Driver and Vehicle Services
Phone:
In-state: (717) 412-5300
Out-of-state: (717) 412-5300 Hearing impaired in-state: (800) 228-0676 Hearing impaired relay: 711
E-mail:
Rhode IslandHandicap Placard
Division of Motor Vehicles
Phone:
(401) 462-5840
TTY 711
E-mail:
Driver's License and ID Card
Division of Motor Vehicles
Phone:
(401) 462-4368
TTY 711
E-mail:
Registration and License Plate
Division of Motor Vehicles
Phone:
(401) 462-4368
TTY 711
E-mail:
Title
Division of Motor Vehicles
Phone:
(401) 462-5774
TTY 711
E-mail:
South CarolinaHandicap Placard
Department of Motor Vehicles
Phone:
(803) 896-5000
E-mail:
Driver's License and ID Card
Department of Motor Vehicles
E-mail:
Phone:
(803) 896-5000
Online:
Registration and License Plate
Department of Motor Vehicles
Phone:
(803) 896-5000
E-mail:
Title
Department of Motor Vehicles
Phone:
(803) 896-5000
E-mail:
South DakotaHandicap Placard
Motor Vehicle Division
Phone:
(605) 773-3541
E-mail:
Driver's License and ID Card
Department of Public Safety
Phone:
(605) 773-6883
E-mail:
https://dps.sd.gov/contact
Registration and License Plate
Motor Vehicle Division
Phone:
(605) 773-3541
E-mail:
Title
Motor Vehicle Division
Phone:
(605) 773-3541
E-mail:
TennesseeHandicap Placard
Vehicle Services Division
Phone:
(615) 253-5221
E-mail:
Live Chat:
Driver's License and ID Card
Department of Safety
Phone:
(866) 849-3548
(615) 532-2281 TTY or TB
E-mail:
Registration and License Plate
Vehicle Services Division
Phone:
(615) 253-5221
E-mail:
Live Chat:
Title
Vehicle Services Division
Phone:
(615) 741-3101
E-mail:
Live Chat:
TexasHandicap Placard
Department of Motor Vehicles
Phone:
(888) 368-4689
E-mail:
Driver's License and ID Card
Department of Public Safety
Phone:
(512) 424-2600
E-mail:
Online:
Registration and License Plate
Department of Motor Vehicles
Phone:
(888) 368-4689
E-mail:
Title
Department of Motor Vehicles
Phone:
(888) 368-4689
E-mail:
UtahHandicap Placard
Division of Motor Vehicles
Phone:
Salt Lake City (801) 297-7780
Outside Salt Lake City (800) 368-8824
E-mail:
Driver's License and ID Card
Driver License Division
Phone:
Salt Lake City (801) 965-4437
Outside Salt Lake City (888) 353-4224
E-mail:
Registration and License Plate
Division of Motor Vehicles
Phone:
Salt Lake City (801) 297-7780
Outside Salt Lake City (800) 368-8824
E-mail:
Title
Division of Motor Vehicles
Phone:
Salt Lake City (801) 297-7780
Outside Salt Lake City (800) 368-8824
E-mail:
VermontHandicap Placard
Department of Motor Vehicles
Phone:
(802) 828-2000
Toll free (888) 998-3766 TTY/TDD 711 or (800) 253-0191
E-mail:
Driver's License and ID Card
Department of Motor Vehicles
Phone:
(802) 828-2000
Toll free (888) 998-3766 TTY/TDD 711 or (800) 253-0191
E-mail:
Registration and License Plate
Department of Motor Vehicles
Phone:
(802) 828-2000
Toll free (888) 998-3766 TTY/TDD 711 or (800) 253-0191
E-mail:
Title
Department of Motor Vehicles
Phone:
(802) 828-2000
Toll free (888) 998-3766 TTY/TDD 711 or (800) 253-0191
E-mail:
VirginiaHandicap Placard
Department of Motor Vehicles
Phone:
(804) 497-7100
(800) 272-9268 TTY
E-mail:
Online:
Driver's License and ID Card
Department of Motor Vehicles
Phone:
(804) 497-7100
(800) 272-9268 TTY
E-mail:
Online:
Registration and License Plate
Department of Motor Vehicles
Phone:
(804) 497-7100
(800) 272-9268 TTY
E-mail:
Online:
Title
Department of Motor Vehicles
Phone:
(804) 497-7100
(800) 272-9268 TTY
E-mail:
Online:
WashingtonHandicap Placard
Department of Licensing
Phone:
(360) 902-3900
711 TTY
E-mail:
Driver's License and ID Card
Department of Licensing
Phone:
(360) 902-3900
711 TTY
E-mail:
Registration and License Plate
Department of Licensing
Phone:
(360) 902-3900
711 TTY
E-mail:
Title
Department of Licensing
Phone:
(360) 902-3900
711 TTY
E-mail:
West VirginiaHandicap Placard
Division of Motor Vehicles
Phone:
(304) 558-3900
(800) 742-6991 TTY
E-mail:
Driver's License and ID Card
Division of Motor Vehicles
Phone:
(304) 558-3900
(800) 742-6991 TTY
E-mail:
Registration and License Plate
Division of Motor Vehicles
Phone:
(304) 558-3900
(800) 742-6991 TTY
E-mail:
Title
Division of Motor Vehicles
Phone:
(304) 558-3900
(800) 742-6991 TTY
E-mail:
WisconsinHandicap Placard
Division of Motor Vehicles
Phone:
(608) 264-7447
711 TTY Relay
E-mail:
Driver's License and ID Card
Division of Motor Vehicles
Phone:
(608) 264-7447
711 TTY Relay
E-mail:
Online:
Registration and License Plate
Division of Motor Vehicles
Phone:
(608) 264-7447
711 TTY
E-mail:
Title
Division of Motor Vehicles
Phone:
(608) 264-7447
711 TTY
E-mail:
Online:
WyomingHandicap Placard
Department of Transportation
Phone:
(307) 777-4825 or (307) 777-4883
E-mail:
Driver's License and ID Card
Department of Transportation
Phone:
(307) 777-4800
E-mail:
Registration and License Plate
Department of Transportation
Phone:
(307) 777-4825 or (307) 777-4883
E-mail:
Title
Department of Transportation
Phone:
(307) 777-4825 or (307) 777-4883
E-mail:
Washington DCHandicap Placard
Department of Motor Vehicles
Phone:
(202) 737-4404
TTY 711
E-mail:
Online:
Driver's License and ID Card
Department of Motor Vehicles
Phone:
(202) 737-4404
TTY 711
E-mail:
Online:
Registration and License Plate
Department of Motor Vehicles
Phone:
(202) 737-4404
TTY 711
E-mail:
Online:
Title
Department of Motor Vehicles
Phone:
(202) 737-4404
TTY 711
E-mail:
Online:
Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |