Rfc2898DeriveBytes + PBKDF2 + SecureString ¿es posible usar una cadena segura en lugar de una cadena?

Tengo una funciónGetPassword, que devuelve unSecureString tipo

Cuando paso esta cadena segura aRfc2898DeriveBytes para generar una clave, Visual Studio muestra un error. Mi conocimiento limitado me dice que es porqueRfc2898DeriveBytes acepta solo una cadena y no una cadena segura. ¿Hay alguna solución para esto

//read the password from terminal
Console.Write("Insert password");
securePwd = myCryptography.GetPassword();

//dont know why the salt is initialized like this
byte[] salt = new byte[] { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0xF1, 0xF0, 0xEE, 0x21, 0x22, 0x45 };
 try
 {   //PBKDF2 standard 
     Rfc2898DeriveBytes key = new Rfc2898DeriveBytes(securePwd, salt, iterationsPwd);

Respuestas a la pregunta(6)

Su respuesta a la pregunta