예제 #1
0
        /// <summary>
        /// Sets user credentials using the NATS 2.0 security scheme.
        /// </summary>
        /// <param name="credentialsPath">A chained credentials file, e.g user.cred</param>
        public void SetUserCredentials(string credentialsPath)
        {
            if (string.IsNullOrWhiteSpace(credentialsPath))
            {
                throw new ArgumentException("Invalid credentials path", nameof(credentialsPath));
            }
            var handler = new DefaultUserJWTHandler(credentialsPath, credentialsPath);

            UserJWTEventHandler       = handler.DefaultUserJWTEventHandler;
            UserSignatureEventHandler = handler.DefaultUserSignatureHandler;
        }
예제 #2
0
        /// <summary>
        /// SetNkey will set the public Nkey and the signature callback to
        /// sign the server nonce.
        /// </summary>
        /// <param name="publicNkey">The User's public Nkey</param>
        /// <param name="privateKeyPath">A path to a file containing the private Nkey.</param>
        public void SetNkey(string publicNkey, string privateKeyPath)
        {
            if (string.IsNullOrWhiteSpace(publicNkey))
            {
                throw new ArgumentException("Invalid publicNkey", nameof(publicNkey));
            }
            if (string.IsNullOrWhiteSpace(privateKeyPath))
            {
                throw new ArgumentException("Invalid filePath", nameof(privateKeyPath));
            }

            nkey = publicNkey;
            UserSignatureEventHandler = (obj, args) =>
            {
                DefaultUserJWTHandler.SignNonceFromFile(privateKeyPath, args);
            };
        }