Ejemplo n.º 1
0
        public ReadOnlyMemory <byte> GetKey(KerberosCryptoTransformer transformer = null)
        {
            if (key != null && key.Length > 0)
            {
                return(key);
            }

            if (transformer == null)
            {
                transformer = CryptoService.CreateTransform(EncryptionType);
            }

            if (transformer == null)
            {
                throw new NotSupportedException();
            }

            if (keyCache.Length <= 0)
            {
                lock (_keyLock)
                {
                    if (keyCache.Length <= 0)
                    {
                        keyCache = transformer.String2Key(this);
                    }
                }
            }

            return(keyCache);
        }
Ejemplo n.º 2
0
        public ReadOnlyMemory <byte> GetKey(KerberosCryptoTransformer transformer = null)
        {
            if (!this.RequiresDerivation)
            {
                return(this.key);
            }

            if (transformer == null)
            {
                transformer = CryptoService.CreateTransform(this.EncryptionType);
            }

            if (transformer == null)
            {
                throw new NotSupportedException();
            }

            if (this.keyCache.Length <= 0)
            {
                lock (this._keyLock)
                {
                    if (this.keyCache.Length <= 0)
                    {
                        this.keyCache = transformer.String2Key(this);
                    }
                }
            }

            return(this.keyCache);
        }
Ejemplo n.º 3
0
        public ReadOnlyMemory <byte> GetKey(KerberosCryptoTransformer transformer = null)
        {
            if (!this.RequiresDerivation)
            {
                return(this.key);
            }

            if (transformer == null)
            {
                transformer = CryptoService.CreateTransform(this.EncryptionType);
            }

            if (transformer == null)
            {
                throw new NotSupportedException($"Unknown EType: {this.EncryptionType}");
            }

            return(this.keyCache.GetOrAdd(transformer.EncryptionType, etype => transformer.String2Key(this)));
        }
Ejemplo n.º 4
0
        public byte[] GetKey(KerberosCryptoTransformer transformer = null)
        {
            if (key != null && key.Length > 0)
            {
                return(key);
            }

            if (transformer == null)
            {
                transformer = CryptoService.CreateTransform(EncryptionType);
            }

            if (transformer == null)
            {
                throw new NotSupportedException();
            }

            return(transformer.String2Key(this));
        }