Yes, there are quite a few applications available that can do this. The easiest method for your needs might be Google's Natural Language API; they kindly provide a "Try the API" query box at https://cloud.google.com/natural-language/#natural-language-api-demo. Just enter your sentence, click "Analyze", confirm that you are not a robot, and navigate to the "Syntax" tab. Using your example, this gives you the following annotated dependency tree (partial screenshot):
![enter image description here](https://cdn.statically.io/img/i.sstatic.net/JrSJD.png)
As you can see, it (correctly) identifies Schlüssel and Tür as masc.sg.acc and fem.sg.dat, respectively.
Obviously, this being entirely automated, the usual caveats apply. I have no particular experience with Google's solution, though judging from my experience with other software (see below), it tends to be fairly accurate in "ordinary" cases, but we shouldn't pretend it is anywhere close to perfection. The reliability suffers if the structure of a sentence becomes too convoluted, the word order is unusual (German is extremely flexible in that respect, which is a huge issue for such applications), and/or the tokens are ambiguous. At the end of the day, that simply reflects the current technological capabilities.
Why does such software exist? Linguists need such information all the time when they work with large corpora that would be impossible to go through by hand. To analyse how frequently entgegen is followed by a nominal phrase in dative and genitive case, for instance, you cannot use a full text search, so you need a way to specifically search for "entgegen" + {a nominal phrase in dative/genitive case}. This is possible once the corpus is "(morphologically) annotated" and that is what POS/morphological tagging software like RFTagger is designed to do (see here for more examples). Language learners are not really their target audience, which is why they are usually rather obscure command-line applications that do not come with a beautiful web interface. (There used to be at least one other web application, but I can't seem to find a working link.) On the other hand, there are countless web applications where we can see the fruits of these programmes, e.g. TüNDRA, which, among other things, contains a fully annotated version of the German version of Wikipedia.
A non-automated method for determining the morphosyntactic properties that a given token (potentially) marks would be to enter it into Canoo's "Dictionary Morphology > Analyze inflection" interface. For example, if you search for "Tür", Canoo will show you a table with all the options (to wit: sg.nom, sg.gen, sg.dat, sg.acc). This is very reliable but of course you still need to figure out which one you're actually looking at. On the other hand, figuring this out is of course also kind of like your job if you want to learn a language :).