小编Mar*_*dre的帖子

SAML:为什么签名中的证书?

我必须为我公司的网站(作为依赖方)使用SAML实施SSO.当然,一个重要的部分是验证签名.以下是我们合作伙伴公司(断言方)的SAML样本的签名部分:

<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
 <ds:SignedInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
  <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
  <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
  <ds:Reference URI="#_2152811999472b94a0e9644dbc932cc3" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
   <ds:Transforms xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
    <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
    <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
     <ec:InclusiveNamespaces PrefixList="ds saml samlp xs" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
    </ds:Transform>
   </ds:Transforms>
   <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
   <ds:DigestValue xmlns:ds="http://www.w3.org/2000/09/xmldsig#">bW1Os7+WykqRt5h0mdv9o3ZF0JI=</ds:DigestValue>
  </ds:Reference>
 </ds:SignedInfo>
 <ds:SignatureValue xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
cgrAN4T/UmobhrkkTi3miiRfbo0Z7aakSZjXuTWlZlu9jDptxPNbOFw8ZbYKZYyuW544wQqgqpnG
gr5GBWILSngURjf2N45/GDv7HMrv/NRMsRMrgVfFsKbcAovQdLAs24O0Q9CH5UdADai1QtDro3jx
nl4x7HaWIo9F8Gp/H1c=
 </ds:SignatureValue>
 <ds:KeyInfo>
  <ds:X509Data>
   <ds:X509Certificate>MIIElzCCA3+gAwIBAgIQNT2i6HKJtCXFUFRB8qYsZjANBgkqhkiG9w0BAQUFADB3MQswCQYDVQQG
    EwJGUjEOMAwGA1UEBxMFUGFyaXMxDDAKBgNVBAoTA3BzYTEgMB4GA1UECxMXY2VydGlmaWNhdGUg
    YXV0aG9yaXRpZXMxKDAmBgNVBAMTH0FDIFBTQSBQZXVnZW90IENpdHJvZW4gUHJvZ3JhbXMwHhcN
    MDkwODE5MDcxNTE4WhcNMTEwODE5MDcxNTE5WjCBhjELMAkGA1UEBhMCZnIxHzAdBgkqhkiG9w0B
    CQEWEHBhc3NleHRAbXBzYS5jb20xGDAWBgoJkiaJk/IsZAEBEwhtZGVtb2IwMDEMMAoGA1UEChMD
    cHNhMREwDwYDVQQLEwhwcm9ncmFtczEbMBkGA1UEAxMSVGVzdCAtIFBBU1NFWFQgREVWMIGfMA0G
    CSqGSIb3DQEBAQUAA4GNADCBiQKBgQCuY1nrepgACvDSTLWk5A1cFOJSwDbl6CWfYp3cNYR0K3YV
    e07MDZn+Rv4jo3SusHVFds+mzKX2f8AeZjkA3Me/0yiS9UpS9LQZu9mnhFlZRhmUlDDoIZxovLXN
    aOv/YHmPeTQMQmJZu5TjqraUq7La1c187AoJuNfpxt227N1vOQIDAQABo4IBkTCCAY0wDgYDVR0P
    AQH/BAQDAgWgMB8GA1UdIwQYMBaAFLceWtTfVeRuVCTDQWkmwO4U01X/MAwGA1UdEwEB/wQCMAAw
    gbYGA1UdIASBrjCBqzCBqAYKKoF6ARfOEAEBBDCBmTBBBggrBgEFBQcCARY1aHR0cDovL3JldW5p
    cy5pbmV0cHNhLmNvbS9hdXRvcml0ZS9QQy1BQy1Qcm9ncmFtcy5wZGYwVAYIKwYBBQUHAgIwSDAK
    FgNwc2EwAwIBARo6UG9saXRpcXVlIGRlIENlcnRpZmljYXRpb24gQUMgUFNBIFBldWdlb3QgQ2l0
    cm9lbiBQcm9ncmFtczBcBgNVHR8EVTBTMFGgT6BNhktodHRwOi8vaW5mb2NlcnQucHNhLXBldWdl
    b3QtY2l0cm9lbi5jb20vQUMtUFNBLVBldWdlb3QtQ2l0cm9lbi1Qcm9ncmFtcy5jcmwwHQYDVR0l
    BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMBYGA1UdDgQPBA1BVVRPX0dFTkVSQVRFMA0GCSqGSIb3
    DQEBBQUAA4IBAQCvRtP6bFkOUEHcqc6yUX0Q1Gk2WaAcx4ziUB0tw2GR9I0276JRJR0EGuJ/N6Fn
    3FhLQrSPmS97Xvc9XmiI66fQUdg64g9YqBecdiQlUkR20VLgI6Nq8pldQlWjU2iYlkP15U7VF4Qr
    0Pb2QiIljZUCKdv3qdED2Ri33za46LfykrlwZB0uhTVUxI/AEtjkKVFaZaqanJg+vJyZI5b30z7g
    Ff8L3ht4Z7SFKdmY3IQSGzElIAAUfduzTJX0cwnGSU9D4BJu1BS8hWnYPwhk+nBJ7OFhXdwYQFWq
    fhpBLq+ciJti9OMhcdCSIi0PbrOqzqtX7hZUQOvfShhCTJnl5TJJ</ds:X509Certificate>
  </ds:X509Data>
 </ds:KeyInfo>
</ds:Signature>
Run Code Online (Sandbox Code Playgroud)

我不明白的是,为什么签名内的证书?

我的意思是通常我会以安全的方式从公司获得证书,所以我知道证书来自他们.当签名验证成功时,我知道我们的合作伙伴公司已签署.

但是当证书在SAML-Response的签名范围内时,任何人都可以发送它!我唯一知道的是答案没有被证伪.但重点是,我不知道谁发送了SAML.

任何人都可以向我解释,这是如何工作的?

certificate signature saml

97
推荐指数
3
解决办法
8万
查看次数

以java.sql.Date格式获取当前日期

我需要将当前日期添加到JDBC调用的预准备语句中.我需要以类似的格式添加日期yyyy/MM/dd.

我试过了

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
Date date = new Date();
pstm.setDate(6, (java.sql.Date) date);
Run Code Online (Sandbox Code Playgroud)

但我有这个错误:

threw exception
java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date
Run Code Online (Sandbox Code Playgroud)

有没有办法获得java.sql.Date具有相同格式的对象?

java jdbc java.util.date

49
推荐指数
5
解决办法
18万
查看次数

数组声明技巧:使用它不好吗?

我宣布这个课程没有用.

public class ArrayTrick {

    public static char[] arr(char... arr) {
        return arr;
    }

    public static float[] arr(float... arr) {
        return arr;
    }

    public static double[] arr(double... arr) {
        return arr;
    }

    public static long[] arr(long... arr) {
        return arr;
    }

    public static int[] arr(int... arr) {
        return arr;
    }

    public static short[] arr(short... arr) {
        return arr;
    }

    public static byte[] arr(byte... arr) {
        return arr;
    }

    public static boolean[] arr(boolean... arr) {
        return arr;
    }

    public static <T> …
Run Code Online (Sandbox Code Playgroud)

java

18
推荐指数
4
解决办法
1645
查看次数

Java google网站管理员热门查询

我一直在抨击这几天,试图弄清楚这是怎么做的.我想从Google网站站长工具中下载CSV,这是我成功完成的.但是,我必须直接传递我希望访问的帐户的用户名和密码.对于网站管理员工具的所有其他方面,我只需要用户登录,然后使用可重复使用的会话令牌从登录中交换令牌.

在获取查询数据时,似乎无法使用此方法.

String next = "http://xyz.domain.com/auth"; //sets page to goto after user log's in so we can pass the token to application
String scope = "http://www.google.com/webmasters/tools/feeds"; // sets the scope of the token
boolean secure = false;
boolean session = true;
String urlFromAuthSub = AuthSubUtil.getRequestUrl(next, scope, secure, session); //generates the URL to forward user to loginto google.
Run Code Online (Sandbox Code Playgroud)

在捕获页面(上面代码中的下一个参数)上,您在成功登录后收到令牌.然后将它换成会话令牌.

String token = "##########################";
String sessionToken = AuthSubUtil.exchangeForSessionToken(token, null);
//store sessionToken for all future use to interact with webmaster for this user. …
Run Code Online (Sandbox Code Playgroud)

java google-webmaster-tools

6
推荐指数
1
解决办法
494
查看次数

如何使用svnkit列出本地修改/未版本控制的文件?

我正在编写一段代码,一旦在SVN工作副本中执行,就会找到根目录:

File workingDirectory = new File(".").getCanonicalFile();
File wcRoot = SVNWCUtil.getWorkingCopyRoot(workingDirectory, true);
Run Code Online (Sandbox Code Playgroud)

获取给定此根的存储库URL,构建SVNClientManager给定的此信息,现在我停留在如何获取工作副本中不在存储库中的任何内容的列表 - 这包括本地修改的文件,未解析的合并,未版本控制的文件我很乐意听到任何我可能错过的事情.

我怎么做 ?这个代码片段似乎需要访问存储库本身,而不是WC:

clientManager.getLookClient().doGetChanged(...)
Run Code Online (Sandbox Code Playgroud)

java svn svnkit

5
推荐指数
2
解决办法
3035
查看次数

软件包org.apache.commons不存在

我很乐意使用EnumeratedIntegerDistribution()从中org.apache.commons.math3.distribution获取离散的概率分布

int[] nums_to_generate          = new int[]    { -1,   1,    0  };
double[] discrete_probabilities = new double[] { 0.4, 0.4, 0.2  };
Run Code Online (Sandbox Code Playgroud)

我正在Windows XP的jdk7上运行,从命令行运行

我做:

还是我有一个神秘的

    "error: package org.apache.commons does not exist"
Run Code Online (Sandbox Code Playgroud)

谁知道会发生什么?我真的需要帮助

注意:

没有类路径,也没有导入“ apache”和对numeratedIntegerDistribution()的调用,编译(和运行)就可以了。

带有类路径但没有“ appache”的编译会产生无意义的错误。

预先感谢您的出色技能,程序员!


这是简短的演示:

import java.lang.Math.*;
import org.apache.commons.math3;

public class CheckMe {

    public CheckMe() {

        System.out.println("let us check it out"); 
        System.out.println(generate_rand_distribution (10));
    }

    private static int[] generate_rand_distribution (int …
Run Code Online (Sandbox Code Playgroud)

java apache javac classpath

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

将XmlNode文本转换为整数

我试图使用的代码就是这个.

Dim oNode
Set oNode = XmlDoc.SelectSingleNode("/Record/CelloXml/Integration/Case/Hearing/Court/NodeID")

Dim iIndex 
Set iIndex = (CInt((oNode.Text).substring(0,1))) - 1
Run Code Online (Sandbox Code Playgroud)

我想使用它iIndex来决定arraylist中的元素以返回到父应用程序.

我目前得到的错误是我需要一个文本对象 oNode.Text

我在这做错了什么?

xml vbscript xml-parsing

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

生成可以除以2的随机数

我需要生成可以除以2的随机数:2 4 6 8 10 12 14 16 18 .....

我的代码看起来像:

Random random = new Random();
int i = random.nextInt(20);
Run Code Online (Sandbox Code Playgroud)

希望你知道我想要什么,你可以帮助我.

java random numbers

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

Ruby on Rails教程if(user_id = session [:user_id])

我正在关注迈克尔·哈特尔的ruby on rails教程,我不知道他如何使用赋值运算符如果condintion:

if (user_id = session[:user_id])
      @current_user ||= User.find_by(id: user_id)
end
Run Code Online (Sandbox Code Playgroud)

有人可以解释它背后的逻辑吗?

ruby ruby-on-rails

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

带有null arrayList的java.lang.IndexOutOfBoundsException

我的代码在使用ArrayList包含对象的测试时工作,但在arrayList空时发出以下错误:

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 
Run Code Online (Sandbox Code Playgroud)

我错了什么?

获取Rectangle具有最小区域的返回具有最小区域的矩形或者null如果没有矩形.

import java.util.ArrayList;

public class RectangleList 
{

    ArrayList<Rectangle> list = new ArrayList<Rectangle>();

    public RectangleList(ArrayList<Rectangle> theList) 
    {
        list = theList;
    }

    /**
     * Gets the Rectangle with the smallest area
     * 
     * @return the rectangle with the smallest area or null if there are no
     *         rectangles
     * 
     */
    public Rectangle smallestArea() 
    {

        Rectangle currentsmallestRectangle = list.get(0);
        for (int i = 0; i < list.size(); i++) …
Run Code Online (Sandbox Code Playgroud)

java arraylist

-2
推荐指数
1
解决办法
7527
查看次数