Der Typ SecureString kann nicht verwendet werden

みなさんこんにちは
以下について、対処方法などご存じでしたら、教えて頂きたいです

(やりたいこと)
Webにログインする際のパスワードを、機密情報として扱いたい

・Windowsの資格情報から情報取得(Get Secure Credential) =>済
・取得した情報は、IDはString型、PasswordはSecureString型に格納 =>済
・テストをデバッグで実施 =>エラー発生(SecureString is not recommendedのような内容)

GPTに確認しながら、以下対応中です
・plainPassword = New System.Net.NetworkCredential(“”, securePassword).Passwordなどで、SecureString型をStringに変更 =>そもそもその段階までいっていないためNG
・システムアクティビティは22.4利用中⇒21.x版などのダウングレードも推奨 =>まだ試していません
・OrchestratorのCredentailAssetアクティビティの利用 =>エラー発生(エラーコード:ST-SEC-007"You do not have permission to use the specified credential asset.")=>これもOrchestratorの権限設定かと思いますが、そもそもSecureString型がうまくいってないため、ここを変更しても解消しないと想定

@111161,

Prüfe, ob das Credential-Asset einem bestimmten Robot zugeordnet ist. Falls es in Orchestrator als Robot-spezifisch konfiguriert ist, stelle sicher, dass du dort den Wert für dein Robot-Konto einträgst.

Du kannst auch ein separates Credential-Asset erstellen, um es zu testen.

Vielen Dank.

Wird das folgende Problem dadurch gelöst, dass ich ein Orchestrator-Asset abrufe?

  • Derzeit wird „Windows Credential (Get Secure Credential)“ verwendet, um ein Passwort vom Typ SecureString abzurufen.
  • Der Fehler tritt bereits beim Abrufen auf (also vor der Konvertierung, z. B. mit Assign).
  • Die Fehlermeldung enthält einen Hinweis wie „SecureString is not recommended“

@111161,

Ich verstehe die Anfrage nicht ganz, möglicherweise liegt es an der Übersetzung. @Yoichi, könntest du dir das bitte ansehen?

Guten Tag,

könnten Sie zunächst die Versionsdetails und weitere Informationen mitteilen (Studio, Projekttyp usw.)?
Oder könnten Sie, falls möglich, ein Dummy-Projekt teilen, mit dem sich das Problem reproduzieren lässt?

In meiner Umgebung (Studio 24.10.12) funktionierte alles problemlos.

Vielen Dank!
Da ich das Tool gerade nicht zur Hand habe, teile ich es später mit Ihnen.

@Yoichi
Vielen Dank für Ihre Arbeit.

Vorhin wollte ich einen Beispielquellcode bereitstellen und habe einen vereinfachten Test durchgeführt.
Verwendet habe ich Get Secure Credentials und anschließend Assign, um den Wert in einen String umzuwandeln.
Beides hat normal funktioniert.

Bis gestern trat nach dem Klicken auf die Debug-Schaltfläche ein Fehler auf, da Securestring als veraltet gemeldet wurde. Heute ist der Fehler nicht mehr aufgetreten.

Es ist nur eine Vermutung, aber vielleicht lag es daran, dass ich die SecureString-Variable bis gestern nicht über Variables, sondern über Arguments an Main zurückgegeben habe. Ehrlich gesagt weiß ich jedoch nicht, was sich gegenüber gestern geändert hat.

Jedenfalls funktioniert derzeit alles problemlos, daher würde ich diesen Fall gern schließen.

Falls Ihnen etwas auffällt, wäre ich Ihnen dankbar, wenn Sie mir Bescheid geben könnten.
※ Später werde ich noch einen weiteren Beitrag zu einem anderen Thema im Forum veröffentlichen.

Könnte der obige Fall gegen die folgende Regel des Workflow Analyzers verstoßen haben?

@Yoichi
Vielen Dank für deine Unterstützung.
Im Workflow Analyzer war die Einstellung auf „Error“ gesetzt.
Ich habe die Ursache gefunden.
Vielen Dank.