标签: credentials

如何避免存储凭据以使用JDBC连接到Oracle?

是否可以在不在配置文件(或任何其他标准可读位置)中提供用户名/密码信息的情况下设置与Oracle的JDBC连接?

通常,应用程序具有包含用于连接到数据库的设置参数的配置文件.有些DBA在配置文件中以明文形式显示用户名和密码这一事实存在问题.

我不认为Oracle和JDBC可以做到这一点,但我需要一些确认......

可能的折衷方案是在配置文件中加密密码并在设置连接之前对其进行解密.当然,解密密钥不应该在同一个配置文件中.这只会解决未经授权的用户意外打开配置文件的问题.

oracle credentials jdbc

28
推荐指数
3
解决办法
1万
查看次数

使用DefaultCredentials和DefaultNetworkCredentials

我们很难确定这些凭证对象的工作方式.事实上,他们可能无法按照我们期望的方式工作.这是对当前问题的解释.

我们有2台服务器需要通过webservices相互通信.第一个(让我们称之为Server01)有一个Windows服务作为NetworkService帐户运行.另一个Server02具有与IIS 6.0一起运行的ReportingServices.Windows Service on Server01正在尝试使用Server02ReportingServices WebService生成报告并通过电子邮件发送它们.

所以,这是我们到目前为止所做的尝试.

在运行时设置凭据(这完全正常):

 rs.Credentials = new NetworkCredentials("user", "pass", "domain");
Run Code Online (Sandbox Code Playgroud)

现在,如果我们可以使用通用用户一切都没问题,但是......我们不被允许.因此,我们尝试使用DefaultCredetials或DefaultNetworkCredentials并将其传递给RS Webservice:

rs.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials
Run Code Online (Sandbox Code Playgroud)

要么:

rs.Credentials = System.Net.CredentialCache.DefaultCredentials
Run Code Online (Sandbox Code Playgroud)

无论哪种方式都行不通.我们总是从IIS获得401 Unauthrorized.现在,我们知道如果我们想要访问记录为NetworkService的资源,我们需要将其授予DOMAIN\MachineName$(http://msdn.microsoft.com/en-us/library/ms998320.aspx):

授予对远程SQL Server的访问权限

如果要访问同一域(或受信任域)中的另一台服务器上的数据库,则使用网络服务帐户的网络凭据对数据库进行身份验证.网络服务帐户的凭据的格式为DomainName\AspNetServer $,其中DomainName是ASP.NET服务器的域,AspNetServer是您的Web服务器名称.

例如,如果ASP.NET应用程序在域CONTOSO中名为SVR1的服务器上运行,则SQL Server将看到CONTOSO\SVR1 $的数据库访问请求.

我们假设以相同的方式授予IIS访问权限.但事实并非如此.或者至少,没有正确设置某些内容以使其正确进行身份验证.

所以,这里有一些问题:

  1. 我们在某个地方读过"模仿用户",我们是否需要在Windows服务中的某处设置?

  2. 是否可以将对NetworkService内置帐户的访问权限授予远程IIS服务器?

谢谢阅读!

web-services credentials defaultnetworkcredentials reporting-services

28
推荐指数
1
解决办法
4万
查看次数

PowerShell - Get-Credential解码密码?

我想在我的代码中使用Get-Credential cmdlet.

如何从System.Security.SecureString格式轻松解码密码?

(我必须在代码的一个部分以明文格式使用密码)

$credential = Get-Credential
$credential.Password | ConvertFrom-SecureString
$credential
#How to show password in text format?
Run Code Online (Sandbox Code Playgroud)

我的解决方法,但我认为还有一个正常的方法

$credCachePS = New-Object System.Net.CredentialCache 
$credCachePS.Add("uridummy", "NTLM", $credential) 
$credCachePS | select Password
Run Code Online (Sandbox Code Playgroud)

powershell credentials system.security

28
推荐指数
2
解决办法
3万
查看次数

Jenkins Subversion错误 - E200015:没有凭据可以尝试.验证失败

我已经将jenkins的Subversion插件更新到2.2版

现在我得到了关于repos的错误,这是在升级之后第一次构建的repos以及repos,其中外部的东西发生了变化.它适用于所有其他版本的预期.

我试图添加其他凭据,但这没有帮助.

现在我希望有人知道还有什么可以尝试解决这个问题.

错误:

hudson.util.IOException2: revision check failed on http://XXX/svn/XXX/Website/Config/trunk
    at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:189)
    at hudson.scm.SubversionChangeLogBuilder.run(SubversionChangeLogBuilder.java:132)
    at hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.java:738)
    at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:899)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1411)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:671)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:580)
    at hudson.model.Run.execute(Run.java:1670)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:231)
Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: OPTIONS /svn/XXX/Website/Config/trunk failed
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:384)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:373)
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:361)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:707)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:627)
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:102)
    at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1020)
    at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:180)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.getRevisionNumber(SvnNgRepositoryAccess.java:118)
    at org.tmatesoft.svn.core.internal.wc2.SvnRepositoryAccess.getLocations(SvnRepositoryAccess.java:148)
    at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.createRepositoryFor(SvnNgRepositoryAccess.java:45)
    at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteLog.run(SvnRemoteLog.java:160)
    at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteLog.run(SvnRemoteLog.java:35)
    at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20)
    at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1238)
    at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
    at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:967)
    at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:872)
    at …
Run Code Online (Sandbox Code Playgroud)

svn hudson credentials jenkins

28
推荐指数
1
解决办法
5万
查看次数

为什么不建议在DOCKERFILE中使用ARG来传递秘密?

http://docs.docker.com/engine/reference/builder/#arg中,它建议秘密不通过ARGS传递.

注意:建议不要使用构建时变量来传递github密钥,用户凭据等秘密.

什么时候秘密通过构建时变量传递到危险之中?

credentials docker dockerfile

28
推荐指数
3
解决办法
2万
查看次数

WCF NetTcpBinding安全性 - 它是如何工作的?

我正在遇到以下问题,试图解决WCF中的设置陷阱...

我使用NetTcp绑定创建了WCF客户端 - 服务器服务.我没有对安全设置进行任何更改,当在一台机器上运行时,它运行得非常好.但是,当我从另一台机器运行我的客户端时,它抱怨服务器不喜欢发送的安全凭证.

现在明白NetTCP默认是"安全的",我的客户端会将错误的安全细节 - 即Windows用户名和密码(或某种形式的域身份验证)传递给我的服务器,因为它们没有运行在它不会喜欢的相同域名.

但是,我不明白的是:

我没有在绑定中指定任何安全性 - 标准设置是否需要发送Windows用户名或密码?

我没有在我的服务器上安装任何证书 - 我知道NetTCP绑定需要某种形式的公共私钥来保护凭证 - 但这似乎在客户端和服务器都在同一台机器上时有效 - 数据是如何获得的加密?或者想要它,因为WCF知道它在同一台机器上并且不需要加密?

我不得不将我的客户端和服务器上的安全模式设置为"none",并且它们连接得很好.但有没有办法在没有证书的情况下加密我的数据?

最后......传输和邮件安全有什么区别?

为了检查我的理解(请原谅!),如果我从A人发送了一封信给人B,并且我对我的手写进行编码,以确保如果有人截获它,他们就无法阅读它了.运输安全是指我决定通过武装运输发送我的信件,以便沿途没有人可以使用它?

是否可以在没有证书的情况下在WCF中进行任何形式的加密?我的项目是一个私人项目,我不想购买证书,数据也不是那么敏感,所以这只是为了我自己的知识.

security wcf binding credentials nettcpbinding

27
推荐指数
1
解决办法
2万
查看次数

保存凭据以供PowerShell和错误重用ConvertTo-SecureString:密钥无法在指定状态下使用

我正在做这篇文章中描述的将保存文件保存在安全文件中的内容,因此我们的自动化过程可以使用它通过Invoke-command运行远程PS脚本:http: //blogs.technet.com/b/robcost/archive/2008 /05/01/powershell-tip-storing-and-using-password-credentials.aspx

当我在我的帐户下运行时,这很有效 - 密码从加密文件中读取,传递给Invoke-command,一切都很好.

今天,当我的脚本准备好它的黄金时间时,我试图在自动进程将使用的Windows帐户下运行它,并在我的脚本尝试从文件中读取安全密码时遇到此错误:

ConvertTo-SecureString : Key not valid for use in specified state.
At \\remoted\script.ps1:210 char:87
+ $password = get-content $PathToFolderWithCredentials\pass.txt | convertto-sec
urestring <<<<
    + CategoryInfo          : InvalidArgument: (:) [ConvertTo-SecureString], C
   ryptographicException
    + FullyQualifiedErrorId : ImportSecureString_InvalidArgument_Cryptographic
   Error,Microsoft.PowerShell.Commands.ConvertToSecureStringCommand
Run Code Online (Sandbox Code Playgroud)

要求我的同事在他的帐户下运行,他也得到了同样的错误.

这是我用来保存凭据的代码:

$PathToFolderWithCredentials = "\\path\removed"

write-host "Enter login as domain\login:"
read-host | out-file $PathToFolderWithCredentials\login.txt

write-host "Enter password:"
read-host -assecurestring | convertfrom-securestring | out-file $PathToFolderWithCredentials\pass.txt

write-host "*** Credentials have been saved to $pathtofolder ***"
Run Code Online (Sandbox Code Playgroud)

这是脚本中的代码,由自动进程运行以读取它们以在Invoke-command中使用:

$login= get-content …
Run Code Online (Sandbox Code Playgroud)

powershell credentials

27
推荐指数
2
解决办法
8万
查看次数

推送到Git服务器时无效的SSL证书

我正在Windows服务器上运行Gitblit,并且正在尝试将数据从网络上的另一台机器推送到存储库.我使用过SSL证书(不是自签名的,但我认为我公司签了?不确定它是如何工作的,但Chrome,IE等看到它已经过身份验证).

运行Gitblit的服务器已命名itscm,在开发人员的桌面上我使用此URL通过TortoiseGit推送数据:

git.exe push --progress  "https://itscm:8234/git/TestRepo.git" master
Run Code Online (Sandbox Code Playgroud)

但是,我收到此错误:

致命:无法访问' https:// itscm:8234/git/TestRepo.git / ':SSL证书问题:证书链中的自签名证书

当我在chrome中转到该地址时,我在页面上得到404,但我可以看到URL栏中的挂锁是绿色的.当我点击挂锁时,我看到身份已经过验证.我不明白我的浏览器如何将此证书视为有效,但当我尝试通过Git将数据推送到它时,它失败了.

git ssl credentials tortoisegit gitblit

27
推荐指数
3
解决办法
4万
查看次数

加密WPF应用程序中的凭据

在WPF应用程序中,我想提供典型的"记住我"选项来记住凭据,并在下次启动应用程序时自动使用它们.

使用单向散列显然不是一种选择,虽然我可以将凭据存储在独立存储注册表中,但在加密凭据时有一个问题需要处理.

如果我使用对称密钥加密算法,我将需要将密钥存储在某处.例如,如果密钥在内存中是硬编码的,那么我想可以很容易地拆解.NET程序集并找到它.

在.NET中加密凭据并保持其安全性的最佳方法是什么,使加密密钥完全无法访问?

c# security encryption wpf credentials

27
推荐指数
1
解决办法
1万
查看次数

无需提示即可在Powershell中获取当前用户的凭据对象

我有一个Powershell脚本,它将通过针对多个服务器的自动化工具运行.它工作正常的Windows机器,远程调用使用该工具的服务帐户,而无需任何提示或代码暴露任何凭据.该脚本还使用SharpSSH软件包通过SSH对Linux机器运行.SharpSSH不会自动使用Powershell用户的凭据,但需要用户名和密码,RSA密钥文件或PSCredential对象.我无法使用Get-Credential提示凭据,因为它是通过自动化工具运行的.我不想在代码中公开用户名和密码,或者在那里放置一个RSA密钥.我想从当前Powershell的用户(服务帐户)构造一个PSCredential对象.试试[System.Net.CredentialCache] ::

有没有人有从当前用户创建PSCredential对象的方法?或者也许是这个问题完全不同的替代方案?

非常感谢!

powershell credentials remote-access sharpssh

26
推荐指数
1
解决办法
7万
查看次数