public Pkcs12ShroudedKeyBag AddShroudedKey( AsymmetricAlgorithm key, ReadOnlySpan <char> password, PbeParameters pbeParameters) { if (key == null) { throw new ArgumentNullException(nameof(key)); } if (IsReadOnly) { throw new InvalidOperationException(SR.Cryptography_Pkcs12_SafeContentsIsReadOnly); } byte[] encryptedPkcs8 = key.ExportEncryptedPkcs8PrivateKey(password, pbeParameters); Pkcs12ShroudedKeyBag bag = new Pkcs12ShroudedKeyBag(encryptedPkcs8, skipCopy: true); AddSafeBag(bag); return(bag); }