Dealer for sure ,but I would check first if a locksmith can replace it cheaper for you ,Unless the key had a chip in it a local lock smith should be able to do it for you.
And if you had Key punch outs from your keys the numbers and letters on those punch outs are also a key maker code.
Dealers keep that information handily accessible to customer's and for repossession of same if necessary .Locksmiths can also get the information as well, Most of the time .