Yes. The only caveat that I have run into (and this may no longer be relevant, but keep it in mind) is that the Promises coming out of WebCrypto may not be Angular zone-aware. The easiest way I found to deal with this was to wrap the first one in a chain in an explicit Promise.resolve, like:
Promise.resolve(window.crypto.subtle.encrypt(...)).then();
See diafygi/webcryto-examples for more code samples.