Tag: 安全

cer,pvk和pfx文件有什么区别?

cer,pvk和pfx文件有什么区别? 另外,我保留哪些文件,以及我希望将哪些文件交给我的对方?

Google+ +1小部件如何突破其iframe?

不知何故,hover在Google+加一小工具上可以引入一个工具提示types处理,它明显大于包含它的<iframe>元素。 我已经检查了DOM来确认这一点。 所以: 什么? 怎么样!? 如果恶意使用,这是不是一个巨大的clickjacking机会? (想象一下,有人为这些社交小工具做了一个MITM!) *更新:我看到的是,tooltip-y消息是在第二个dynamic创build的iframe 。

为什么这个代码容易受到缓冲区溢出攻击?

int func(char* str) { char buffer[100]; unsigned short len = strlen(str); if(len >= 100) { return (-1); } strncpy(buffer,str,strlen(str)); return 0; } 这段代码容易受到缓冲区溢出攻击,我试图找出原因。 我认为这与len被声明为short而不是int ,但是我不确定。 有任何想法吗?

CAS或OAuth的SSO?

我想知道是否应该使用CAS协议或OAuth +一些身份validation提供程序进行单一login。 示例scheme: 用户尝试访问受保护的资源,但未通过身份validation。 应用程序将用户redirect到SSO服务器。 如果进行身份validation,则用户从SSO服务器获取令牌。 SSOredirect到原始应用程序。 原始应用程序检查令牌对SSO服务器。 如果令牌没有问题,访问将被允许,应用程序知道用户ID。 用户执行注销并同时从所有连接的应用程序中注销(单点注销)。 据我所知,这正是CAS发明的。 CAS客户端必须执行CAS协议才能使用authentication服务。 现在我想知道在客户(消费者)网站上使用CAS或OAuth。 OAuth是CAS的一部分的替代品吗? 应该将OAuth作为新的事实标准吗? 是否有一个易于使用(而不是Sun OpenSSO!)替代CAS的authentication部分支持不同的方法,如用户名/密码,OpenID,TLS certifactes …? 语境: 不同的应用程序应该依赖于SSO服务器的身份validation,并应使用会话类似的东西。 应用程序可以是GUI Web应用程序或(REST)服务器。 SSO服务器必须提供用户标识,这对于从中央用户信息存储区获取有关用户angular色,电子邮件等更多信息是必要的。 单次退出应该是可能的。 大多数客户端是用Java或PHP编写的。 我刚刚发现了WRAP ,可以成为OAuth的继任者。 这是由微软,谷歌和雅虎指定的新协议。 附录 我了解到,OAuth并不是用于身份validation的,即使它可以用于实现SSO,但只能与OpenID之类的SSO服务一起使用。 OpenID在我看来是“新CAS”。 CAS有一些OpenID未命中的特性(如单点登出),但是在特定场景中添加缺less的部分不应该很难。 我认为OpenID已被广泛接受,最好将OpenID集成到应用程序或应用程序服务器中。 我知道CAS也支持OpenID,但我认为CAS是OpenID的可有可无。

JACC提供程序如何使用部署在其上的服务器的主体到angular色映射工具?

我正在写一个JACC提供者。 一路上,这意味着实施PolicyConfiguration 。 PolicyConfiguration负责接受来自应用程序服务器的configuration信息,例如哪些权限归属于哪个angular色。 这样一来,以后的Policy就可以在交付关于当前用户的信息以及他正在尝试做什么的情况下做出授权决定。 但是,它不是PolicyConfiguration (恶意)合同中维护angular色及其权限与委派给这些angular色的Principals之间的映射的一部分。 通常情况下,应用服务器总是保存这个映射。 例如,在Glassfish上,通过在Java EE模块中提供诸如sun-web.xml和sun-ejb-jar.xml类的东西来影响此映射。 (这些特定于供应商的文件负责说明,例如, superusers是将被分配admins的应用程序angular色的组。 我想重用这些文件提供的function,我想这样做尽可能广泛的应用程序服务器的数组。 这是完全任意的,IBM正在处理这个问题,这似乎证实了我怀疑我想要做的事实际上是不可能的 。 (对于我的情况来说,更多的弹药是这个特定的Java EE合同不值得它所印刷的文章。) 我的问题:我如何从PolicyConfiguration GlassFish和JBoss中的principal-to-role-mapping信息? 如果有一个标准的方法来做到这一点,我不知道,我都耳朵。

java.util.Random和java.security.SecureRandom之间的区别

我的团队已经交出了一些生成随机令牌的服务器端代码(使用Java),我也有同样的问题 – 这些令牌的目的是相当敏感的 – 用于会话ID,密码重置链接等。所以他们确实需要encryption随机,以避免有人猜测他们或蛮横迫使他们切实可行。 令牌是一个“长”,所以它是64位长。 该代码当前使用java.util.Random类来生成这些令牌。 java.util.Random的文档([ http://docs.oracle.com/javase/7/docs/api/java/util/Random.html][1] )明确指出: java.util.Random的实例不具有密码安全性。 请考虑使用SecureRandom来获取密码安全的伪随机数字生成器,供安全性敏感的应用程序使用。 然而,代码当前使用java.util.Random是这样的 – 它实例化java.security.SecureRandom类,然后使用SecureRandom.nextLong()方法获取用于实例化java.util.Random的种子java.util.Randomclass。 然后它使用java.util.Random.nextLong()方法来生成令牌。 所以我现在的问题 – 它仍然是不安全的,因为java.util.Random使用java.security.SecureRandom播种? 我是否需要修改代码,使其仅使用java.security.SecureRandom来生成令牌? 目前代码种子在启动时是Random

在SQL Server Management Studio中删除记住的login名和密码列表

我最近使用我们公司的备用笔记本电脑(有一个普通用户设置),而我的正在修复。 在login到数据库时,我已经在SQL Server Management Studio中检查了“记住密码”选项。 我需要清除我用来阻止下一个使用笔记本电脑的人使用我的login名和密码的login名和密码信息。 我怎样才能做到这一点?

我什么时候需要.NET中的SecureString?

我正在尝试.NET的SecureString的目的。 来自MSDN: System.String类的一个实例是不可变的,当不再需要时,不能以编程方式调度垃圾收集; 也就是说,实例在创build后是只读的,并且不可能预测实例何时从计算机内存中删除。 因此,如果String对象包含密码,信用卡号码或个人数据等敏感信息,则在使用该信息之后可能会泄露信息,因为您的应用程序无法从计算机内存中删除数据。 一个SecureString对象类似于一个String对象,因为它有一个文本值。 但是,SecureString对象的值会自动encryption,可以修改,直到应用程序将其标记为只读,并且可以由应用程序或.NET Framework垃圾收集器从计算机内存中删除。 SecureString实例的值在实例初始化或值被修改时自动encryption。 您的应用程序可以通过调用MakeReadOnly方法呈现实例不可变,并防止进一步修改。 自动encryption是巨大的回报? 为什么我不能说: SecureString password = new SecureString("password"); 代替 SecureString pass = new SecureString(); foreach (char c in "password".ToCharArray()) pass.AppendChar(c); 我缺less什么SecureString的方面?

如何在Windows上为代码签名创build自签名证书?

如何使用Windows SDK中的工具为代码签名创build自签名证书?

使用openssl从服务器获取证书

我想获得远程服务器的证书,然后我可以使用它来添加到我的密钥库并在我的Java应用程序中使用。 一个高级开发人员(谁是假期:()通知我我可以运行这个: openssl s_client -connect host.host:9999 为了得到原始证书,我可以复制并导出。 我收到以下输出: depth=1 /C=NZ/ST=Test State or Province/O=Organization Name/OU=Organizational Unit Name/CN=Test CA verify error:num=19:self signed certificate in certificate chain verify return:0 23177:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1086:SSL alert number 40 23177:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:188: 我也尝试过这个选项 -showcerts 而这个(在debian的脑海中运行) -CApath /etc/ssl/certs/ 但是得到相同的错误。 这个来源说我可以使用该CApath标志,但它似乎没有帮助。 我尝试了多条path无济于事。 请让我知道我要去哪里错了。