Rosewater is actually extremely easy to make at home (as long as you have a ton of roses on hand, that is). All you need is a pint of water and a rose bouquet you don't mind tearing apart. First, take all the petals off the roses and fill a heat-safe bowl with them. Then take your water, get it boiling hot, and pour it over the top of your petals—the ideal water to rose ratio for this is about 2:1. Then you let it sit until it's completely cool & strain what's left of the petals off. And that's it! If you keep it in a clean jar, it should be good for about a month.
If roses aren't in season, though, or maybe you just don't have access to dozens of them, it might just be less expensive to buy pre-made rosewater. Heritage Store Rosewater is a nice one if you just want the real thing with no frills, but Fresh Rose Floral Toner is lovely, too. And we'd be remiss if we didn't at least mention Dior Crème de Rose Smoothing Plumping Lip Balm because, well... it's just plain great.