1
그래서이 게시물과 매우 비슷한 문제가 있습니다. SOAP KeyInfo valuesSOAP 요청에 KeyInfo 참조 추가
KeyInfo 내에서 참조를 추가하고 싶지만 코드를 통해이를 수행 할 방법을 찾지 못하는 것 같습니다. 여기
는 예상 출력이 있어야 할 것입니다 :<KeyInfo>
<wsse:SecurityTokenReference>
<wsse:Reference URI="#SecurityTest" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
</wsse:SecurityTokenReference>
</KeyInfo>
그리고 나는 그것을에서 참조하려고된다 이상이이 수행
이<wsse:BinarySecurityToken ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="SecurityTest">Base64CertStuffBlahblah
</wsse:BinarySecurityToken>
의 KeyInfo 부분을 만들기에 모든 시도는 할 수 있습니다 이 부분을 채우기 위해 키와 같은 항목을 삽입하겠습니다. 그러나 나는 단지 참조만을 원합니다. 이 코드는 내가 지금까지 작업 해 왔지만 지금 원하는 것을 생성하지 않습니다.
//This creates a X509 clause but it's as far as I've got.
//The "keyInfoData" needs to be of a different type to allow custom reference?
var signer = new SignedXmlWithId(doc) {SigningKey = Key};
KeyInfo keyInfo = new KeyInfo();
KeyInfoX509Data keyInfoData = new KeyInfoX509Data();
keyInfoData.AddCertificate(cert);
keyInfo.AddClause(keyInfoData);
signer.KeyInfo = keyInfo;
감사합니다. 도움을 주시면 감사하겠습니다.