blob: dbcd86b361e3bb3d455eef9fe372587bfd4402c4 [file] [log] [blame]
erikchen3ee5d55e32015-10-09 23:20:491// Copyright 2015 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "ipc/brokerable_attachment.h"
6
7#include "crypto/random.h"
8
9namespace IPC {
10
11// static
12BrokerableAttachment::AttachmentId
13BrokerableAttachment::AttachmentId::CreateIdWithRandomNonce() {
14 AttachmentId id;
15 // In order to prevent mutually untrusted processes from stealing resources
16 // from one another, the nonce must be secret. This generates a 128-bit,
17 // cryptographicaly-strong random number.
18 crypto::RandBytes(id.nonce, BrokerableAttachment::kNonceSize);
19 return id;
20}
21
22} // namespace IPC